ARCHIVE July 20, 2026
July 20, 2026 · AL West

St. Louis Cardinals vs Los Angeles Angels

July 20, 2026Angel StadiumPartly Cloudy 79°F · 8 mph, Out To RF
AWAY
St. Louis Cardinals
51-48
2
vs
HOME
Los Angeles Angels
40-61
3

Game Highlights

Published July 21, 2026 · Source: MLB

Scoring summary

INN BATTER PLAY SCORE
T2 Nathan Church Nathan Church singles on a sharp line drive to right fielder Jo Adell. Jordan Walker scores. Lars Nootbaar to 3rd. STL 1, LAA 0
T2 Blaze Jordan Blaze Jordan grounds out, third baseman Denzer Guzman to first baseman Nolan Schanuel. Lars Nootbaar scores. Nathan Church to 2nd. STL 2, LAA 0
B3 Jo Adell Jo Adell homers (14) on a fly ball to left center field. STL 2, LAA 1
B9 Vaughn Grissom Umpire reviewed (home run), call on the field was upheld: Vaughn Grissom doubles (13) on a sharp fly ball to right fielder Jordan Walker. Oswald Peraza scores. Jose Siri to 3rd. STL 2, LAA 2
B9 Jo Adell Jo Adell hit by pitch. Jose Siri scores. Vaughn Grissom to 3rd. Josh Lowe to 2nd. STL 2, LAA 3

Box score

  123456789 R
STL 020000000 2
LAA 001000002 3

Pitching & bullpen

How the game was pitched — the starters, the bullpen sequence and each arm's role, and the pitch counts behind them.

Cardinals AWAY 2

Kyle Leahy started for Cardinals, leaving with a 2–1 lead. Out of the bullpen, Riley O'Brien took the roughest line.

workload · innings pitched
  • Kyle Leahy Starter 6.0 95 1 4
    Pitch-by-pitch: what Kyle Leahy threw
    CSW 25% 1st-pitch strike 70% 4.8 pitches/PA
    Pitch#%WhiffCSFoulBallIn play
    Four-Seam Fastball 21 22% 1 3 8 8 1
    Curveball 17 18% 3 2 1 7 4
    Sinker 16 17% 1 5 2 5 3
    Slider 16 17% 3 2 2 4 5
    Sweeper 14 15% 1 2 6 5 0
    Changeup 11 12% 1 0 3 4 3
  • Ryne Stanek Setup 1.0 13 0 1 HLD
  • George Soriano Setup 1.0 14 0 1 HLD
  • Riley O'Brien Closer 0.1 21 2 1 L
Angels HOME 3

José Soriano started for Angels, leaving trailing 1–2.

workload · innings pitched
  • José Soriano Starter 7.0 95 2 7
    Pitch-by-pitch: what José Soriano threw
    CSW 36% 1st-pitch strike 64% 3.8 pitches/PA
    Pitch#%WhiffCSFoulBallIn play
    Sinker 30 32% 1 7 4 11 7
    Four-Seam Fastball 28 29% 5 7 4 7 5
    Knuckle Curve 26 27% 5 8 3 9 1
    Splitter 7 7% 0 0 1 2 4
    Slider 4 4% 1 0 1 2 0
  • Samy Natera Jr. Setup 1.0 13 0 2
  • José Fermin Middle 1.0 21 0 2 W

Where the game turned

1 run Bottom 9th · off O'Brien
  • Adell HBP (1)

Batting lines

AWAY · STL
BATTER ABRHRBIBBK AVGOBPSLGOPS NOTES
JJ Wetherholt 2B 3 0 0 0 1 2 .260 .356 .401 .757 SB
Iván Herrera DH 4 0 0 0 0 4 .244 .370 .378 .748
Alec Burleson 1B 4 0 0 0 0 1 .277 .339 .463 .802
Jordan Walker RF 3 1 1 0 1 0 .292 .355 .525 .880 2B, SB
Lars Nootbaar LF 4 1 1 0 0 1 .256 .362 .402 .764
Masyn Winn SS 3 0 0 0 0 1 .241 .316 .326 .642
Nathan Church CF 3 0 2 1 0 0 .231 .272 .371 .643
Blaze Jordan 3B 3 0 0 1 0 0 .250 .264 .381 .645
Jimmy Crooks C 3 0 0 0 0 2 .176 .282 .338 .620
HOME · LAA
BATTER ABRHRBIBBK AVGOBPSLGOPS NOTES
Zach Neto SS 4 0 1 0 0 1 .235 .325 .444 .769
Mike Trout CF 4 0 0 0 0 2 .232 .385 .461 .846
Vaughn Grissom 2B 4 0 1 1 0 0 .256 .324 .397 .721 2B
Josh Lowe LF 3 0 0 0 1 1 .200 .249 .356 .605
Jo Adell RF 3 1 2 2 0 0 .240 .287 .393 .680 HR (14)
Denzer Guzman 3B 3 0 0 0 0 1 .246 .288 .381 .669
Nolan Schanuel 1B 3 0 2 0 1 0 .282 .353 .399 .752
Jorge Soler DH 3 0 0 0 0 2 .204 .294 .373 .667
Logan O'Hoppe C 2 0 0 0 0 0 .215 .279 .306 .585
Wade Meckler PH 1 0 0 0 0 0 .302 .371 .411 .782

Pitching lines

AWAY · STL
PITCHER IPHRERBBKHR NPERA DEC
Kyle Leahy 6.0 3 1 1 0 4 1 95 3.59
Ryne Stanek 1.0 0 0 0 1 1 0 13 4.70 HLD
George Soriano 1.0 1 0 0 0 1 0 14 3.32 HLD
Riley O'Brien 0.1 2 2 2 1 1 0 21 3.76 L
HOME · LAA
PITCHER IPHRERBBKHR NPERA DEC
José Soriano 7.0 4 2 2 1 7 0 95 3.43
Samy Natera Jr. 1.0 0 0 0 0 2 0 13 2.60
José Fermin 1.0 0 0 0 1 2 0 21 2.90 W

Manager comparison

AWAY · STL
Oliver Marmol
Lineup 2.9 R Bunts 2.5 R IBBs 2.0 R
HOME · LAA
Kurt Suzuki
Lineup 2.4 R Bunts 1.7 R IBBs 4.0 R

Recent form

AWAY · STL
4-6 W1 -9 run diff
WLWWLLLWLL
HOME · LAA
3-7 W1 -10 run diff
WLLWLLLLLW

Season series: 1-2 with STL listed first across 3 prior meetings.

Keep reading

How RunsLeft analyzes games

Standard content on this page comes from the MLB Stats API. The pitching analysis describes how the game was pitched — the starter's line, the bullpen sequence and each arm's role (opener, bulk, setup, closer), pitch counts as a fatigue signal, and the leverage context where the game turned. Reliever roles are inferred from how the manager used each arm up to that date. It describes structure and constraints; it does not grade the manager.

Read the full methodology.