Two Struggling Clubs Meet at Oracle — Something Has to Give
Neither the Angels (41-63) nor the Giants (43-60) are playing winning baseball right now, which makes this 4:05 PM ET matinee at Oracle Park less about playoff stakes and more about individual pride. Our model doesn't have a read on this one — so watch the players, not the projections.
On paper, this is a matchup between two clubs that have spent most of 2026 treading water below .500. San Francisco holds a slight edge in the standings, but two games of separation between 43-60 and 41-63 is not exactly a bragging right. What this game does offer is a genuinely interesting pitching contrast. Ryan Johnson is expected to start for Los Angeles, while Robbie Ray is set to take the mound for San Francisco — two arms with something to prove in the back half of a season that hasn't gone according to plan for either organization.
On the offensive side, the Giants carry the more dangerous bat in Rafael Devers, who leads San Francisco with 21 home runs and 56 RBI. That kind of thump in the middle of the order can change a game in a single swing, and any pitcher working at Oracle Park has to account for him every time through the lineup. Luis Arraez, meanwhile, is doing what Arraez always does — hitting for average at a .324 clip that makes him one of the toughest outs in the National League. The Angels counter with Zach Neto's 19 home runs providing legitimate pop, Jo Adell driving in runs at a 57-RBI pace, and Nolan Schanuel hitting .282 to give Los Angeles some on-base presence at the top of the order. Neither lineup is elite, but both have enough to punish a mistake.
With no validated model read available for this game, there's no algorithmic lean to anchor your expectations. That's actually fine — sometimes a game between two sub-.500 teams in late July is best evaluated on feel. Watch how Johnson handles Devers early, and whether Ray can keep the Angels' power bats in the yard. Those two matchups will likely tell the story before the fifth inning is over.