Angels at Giants
O/U 14.5 · RL Giants -1.5 · Oracle Park
The pick & result
- Published pick
- Giants ML -130
- Published odds
- -130
- Result
- Won
- Final score
- 2-9
Odds are the American price printed with this pick, not a current offer. Wins, losses and pushes remain on the public record; a missing grade is not a win.
The read
The sun is out at Oracle Park, the wind is blowing toward center field, and both teams are back quickly after San Francisco’s one-run win in the opener. The starting pitchers are closer than their usual results suggest, but Robbie Ray’s strong pitching at home and in daytime games gives him the edge for me. Ryan Johnson has struggled badly on the road and has also been worse during the day.
Nearly the entire Angels lineup will bat right-handed against Ray, and he has handled right-handed hitters well. Johnson has struggled against hitters from both sides, while San Francisco can send several left-handed bats at him. His sinker has been hit hard, and Luis Arraez and Rafael Devers have both handled that pitch well. The Giants also used fewer relievers and threw far fewer bullpen pitches last night. That matters because Johnson has failed to pitch deep into either of his last two starts.
I’m taking the Giants simply to win rather than asking them to win by multiple runs. San Francisco has not been great at home, but the Angels have been much worse on the road, and most of the Giants’ recent games have been decided by one run. I’m not calling for an easy win because Johnson’s deeper pitching numbers suggest he could perform better than his usual results. Still, at this price, Ray’s home and daytime success, San Francisco’s matchup with Johnson, and the fresher Giants bullpen are enough for me to back San Francisco to finish the job.
The full analysis
The handedness and pitch data reinforce that advantage. Eight Angels batters are hitting right-handed against Ray, who has held righties to a .208 average and .691 OPS. Johnson does not have the same escape route: lefties have produced an .828 OPS against him and righties an .814 OPS. San Francisco sends five left-handed hitters, and Johnson’s sinker has allowed a .493 xwOBA. Luis Arraez has hit .302 against sinkers and Rafael Devers .340. Behind the starters, the Giants used four relievers for 62 pitches last night, while the Angels required six relievers and 99 pitches. That availability difference matters when Johnson has not worked beyond five innings in either of his last two starts.
I’m taking the moneyline rather than asking San Francisco to cover -1.5. The Giants are only 23-25 at home, but that still compares favorably with the Angels’ 17-35 road record, and four of San Francisco’s last five games were decided by one run. This is not a runaway conviction because the identical xERAs leave room for Johnson to outperform his surface numbers. At -130, however, Ray’s home-and-day profile, the lineup’s measured matchup with Johnson and San Francisco’s bullpen availability give me enough to back the Giants simply to finish the job.
Injuries noted
Giants: [KNOWN] Harrison Bader (CF) — Foot (Left): Bader (foot) is unlikely to be activated from the 10-day injured list until after the trade deadline, Evan Webeck of the California Post reports. (Jul 20 — 4d ago) [KNOWN] Joel Peguero (RP) — Hamstring (Left): Peguero (hamstring) threw 30 pitches during a bullpen session Monday, Evan Webeck of the California Post reports. (Jun 29 — 25d ago) [KNOWN] Hayden Birdsong (Starting Pitcher) — Elbow (Right): Birdsong underwent successful UCL reconstruction surgery on his right elbow Wednesday, Susan Slusser of the San Francisco Chronicle reports. (May 8 — 78d ago) [KNOWN] Jose Butto (Relief Pitcher) — Arm (Right): The Giants transferred Butto (arm) to the 60-day injured list Tuesday. (May 8 — 78d ago) [KNOWN] Matt Chapman (3B) — Abdomen (Not Specified): Chapman (abdomen) has been faring well in his rehab and could be activated in time for San Francisco's upcoming homestand, which begins Friday against the Angels, Evan Webeck of the California Post reports. (Jul 20 — 4d ago) [KNOWN] Matt Gage (RP) — Forearm (Left): Gage will be re-evaluated in one month after an MRI revealed a moderate left flexor strain, Alex Pavlovic of NBC Sports Bay Area reports. (Jul 8 — 17d ago) [KNOWN] Jonah Cox (CF) — Oblique (Left): Cox went 3-for-3 with a solo home run and an additional run scored in Friday's 18-3 win over the Cubs. (Jul 8 — 16d ago) [KNOWN] Victor Bericoto (RF) — Oblique (Left): The Giants placed Bericoto on the 10-day injured list Friday with a left oblique strain. (Jul 10 — 14d ago) [NEW] Trevor McDonald (SP) — Elbow (Right): MRI results on McDonald's right elbow revealed a moderate UCL sprain Friday, Susan Slusser of the San Francisco Chronicle reports. (Jul 24 — 0d ago) [NEW] Drew Cavanaugh (C) — Illness: Cavanaugh went 2-for-2 with two walks and a run scored in Friday's 7-0 win over the Mariners. (Jul 24 — 0d ago) Angels: [KNOWN] Travis d'Arnaud (C) — Foot (Right): D'Arnaud (foot) will begin a rehab assignment with Triple-A Salt Lake on Friday. (Jul 17 — 7d ago) [KNOWN] Jack Kochanowicz (SP) — Elbow (Right): Kochanowicz's Tommy John surgery on his right elbow was deemed "successful," per MLB.com. (Jun 27 — 28d ago) [NEW] Yusei Kikuchi (SP) — Shoulder (Left): Kikuchi (shoulder) is expected to throw another live session this weekend, Rhett Bollinger of MLB.com reports. (Jul 21 — 3d ago) [KNOWN] Adam Frazier (2B) — Elbow (Right): Frazier (elbow) began a rehab assignment with Triple-A Salt Lake on Sunday, going 0-for-3 with two strikeouts. (Jul 20 — 5d ago) [KNOWN] Sebastian Rivero (C) — Hand (Left): Rivero (hand) has been catching at the Angels' spring complex in Arizona, MLB.com reports. (Jul 12 — 13d ago) [NEW] Yoan Moncada (3B) — Knee (Right): Moncada (knee) has been rehabbing at his home and hasn't started baseball activities, MLB.com reports. (Jul 22 — 2d ago)
The research
The dated measurements the app shows under this card — observations with their sample and source, not predictions.
STARTER FORM
Ryan Johnson: 3.86 ERA over his last 3 starts
3.86Across his last 3 starts (14 IP) he has a 3.86 ERA with a 1.29 WHIP (1.43 season) and 12 strikeouts — his season mark is 6.10, and that is where most lines still price him.
PLATOON EDGE
Rafael Devers (bats L) gets a RHP from the 4th spot
.914Rafael Devers's vs. Right line (.914 OPS, 266 AB) sits well above his .530 mark the other way (127 AB). Tonight's starter Ryan Johnson throws RHP, the hand he hits best.
COOLING OFF
Heliot Ramos: .483 OPS in L15 — draws RHP Ryan Johnson
.483Heliot Ramos's .483 OPS over the last 15 days (41 PA) trails his .744 season mark, down 0.261. Tonight he draws RHP Ryan Johnson — his weaker side: a .703 OPS vs RHP across 196 AB.
Jung Hoo Lee: .513 OPS in L15 — draws RHP Ryan Johnson
.513Jung Hoo Lee's .513 OPS over the last 15 days (38 PA) trails his .753 season mark, down 0.24. Tonight he draws RHP Ryan Johnson — his stronger side: a .758 OPS vs RHP across 262 AB.
PARK WEATHER
Wind blowing out 13 mph at Oracle Park tonight
OUT 13Tonight's reading at Oracle Park — Sunny, 66°, wind 13 mph, Out To CF. Everything about the air says carry. The total sits at 9.
STREAK
LAA games have gone UNDER 6 straight
U6Los Angeles Angels games have stayed UNDER 6 straight — just 4.5 runs a night against an average line of 8.2. Tonight's number sits at 8.75.
TEAM RECORD
Giants 6-2 in Robbie Ray's last 8 starts
6-2Giants are 6-2 in Robbie Ray's last 8 starts this season. He starts tonight.
Angels 2-6 in Ryan Johnson's last 8 starts
2-6Angels are 2-6 in Ryan Johnson's last 8 starts this season. He starts tonight.
REGRESSION
Ryan Johnson: 6.1 ERA vs 4.62 xERA
4.62Ryan Johnson carries a 6.1 ERA against a 4.62 expected ERA (1.48 run gap), so he has been underperforming his contact quality. Opponents hit .262 off him vs a .247 expected (xBA). Most lines price off his season ERA, which may not reflect that gap.
Robbie Ray: 3.33 ERA vs 4.62 xERA
4.62Robbie Ray carries a 3.33 ERA against a 4.62 expected ERA (1.29 run gap), so he has been outperforming his contact quality. Opponents hit .223 off him vs a .239 expected (xBA). Most lines price off his season ERA, which may not reflect that gap.
Luis Arraez: .324 AVG vs .284 xBA
.284Luis Arraez is hitting .324 against a .284 expected average (xBA) over 429 plate appearances. His wOBA sits at .347 against a .303 expected (xwOBA). Statcast grades the quality of his contact rather than the results, and the expected marks sit below what he has actually posted.
FANTASY PICKUPS
Casey Schmitt
.792 OPSPickup vs Ryan Johnson (4.61 xERA) — .792 OPS, bats 5th.
Rafael Devers
.791 OPSPickup vs Ryan Johnson (4.61 xERA) — .791 OPS, bats 4th.
Heliot Ramos
.744 OPSPickup vs Ryan Johnson (4.61 xERA) — .744 OPS, bats 2nd.
About this analysis
- Who made it
- Gary AI, an AI sports-analysis product operated by Gary A.I. LLC. No human reviewer is claimed unless one is explicitly named.
- Published data
- Daily picks first stored July 25, 2026 at 11:45 AM ET.
- Odds record
- The pick receipt shows the price printed in the published ticket. The matchup market and line ladder provide separate market context. Stored sportsbook sources: fanduel, fanatics, draftkings, caesars, betmgm, betrivers.
- Accountability
- Read the editorial standards, source policy, and corrections process.
Props on this game
1- GARY'S PICKBRYCE ELDRIDGETOTAL BASES OVER 1.5
Bryce Eldridge (.266 AVG, 10 HR, .835 OPS) possesses a premier matchup against Angels starter Ryan Johnson. Johnson has struggled mightily against left-handed hitters in 2026, allowing a .267 batting average, an .828 OPS, and 5 home runs in just 86 at-bats to LHBs.
Eldridge thrives in daytime conditions, batting .284 with an .857 OPS in day games. Batting 3rd in the Giants order directly behind Luis Arraez (.324 AVG), Eldridge will get quality RBI and extra-base hit opportunities against Johnson's 92.1 mph sinker and 89.6 mph cutter.
Additionally, the Angels bullpen is heavily taxed after deploying six relievers (99 pitches) yesterday, ensuring Eldridge faces vulnerable arms late. The main risk is Oracle Park's deep outfield suppressing fly balls, but Eldridge's .499 xSLG provides the power profile needed to clear 1.5 total bases.
Every prop from this day is on the archive page.
Every pick posts before the game and is graded after, in public. My Book on this website lets you tail or fade listed calls and keeps your record separately labeled; Gary is also available as a native iOS app.
Get Gary on the App StoreEvery MLB game this dayThe MLB recordToday's MLB picksEvery sport this day