The 2021 St. Louis Cardinals season was the 140th for the St. Louis Cardinals of the Major League Baseball, a franchise in St. Louis, Missouri. It also was the 130th season for the Cardinals in the National League, and their 16th at Busch Stadium III. They advanced to the playoffs but lost to the Los Angeles Dodgers in the NLWC Game. The season included a 17-game winning streak in September, which was the longest in franchise history. For the first time since 2012, Kolten Wong was not on the roster.
Regular season
Season standings
National League Central
National League playoff standings
Record vs. opponents
Game log
|- style="background:#bbffbb;" | 1 || April 1 || @ Reds || 11–6 || Gallegos (1–0) || Castillo (0–1) || — || 12,695 || 1–0 || W1 |- style="background:#ffbbbb;" | 2 || April 3 || @ Reds || 6–9 || Mahle (1–0) || Wainwright (0–1) || — || 12,213 || 1–1 || L1 |- style="background:#ffbbbb;" | 3 || April 4 || @ Reds || 1–12 || Hoffman (1–0) || Martínez (0–1) || — || 11,629 || 1–2 || L2 |- style="background:#bbffbb;" | 4 || April 5 || @ Marlins || 4–1 || Ponce de Leon (1–0) || Rogers (0–1) || Reyes (1) || 4,605 || 2–2 || W1 |- style="background:#bbffbb;" | 5 || April 6 || @ Marlins || 4–2 || Helsley (1–0) || Alcántara (0–1) || Reyes (2) || 4,982 || 3–2 || W2 |- style="background:#bbffbb;" | 6 || April 7 || @ Marlins || 7–0 || Flaherty (1–0) || López (0–1) || — || 5,244 || 4–2 || W3 |- style="background:#bbffbb;" | 7 || April 8 || Brewers || 3–1 || Gallegos (2–0) || Rasmussen (0–1) || Reyes (3) || 13,328 || 5–2 || W4 |- style="background:#ffbbbb;" | 8 || April 10 || Brewers || 5–9 || Houser (1–1) || Martínez (0–2) || — || 13,304 || 5–3 || L1 |- style="background:#ffbbbb;" | 9 || April 11 || Brewers || 3–9 || Anderson (1–1) || Ponce de Leon (1–1) || — || 13,176 || 5–4 || L2 |- style="background:#ffbbbb;" | 10 || April 12 || Nationals || 2–5 || Finnegan (1–0) || Gant (0–1) || Hand (1) || 12,894 || 5–5 || L3 |- style="background:#bbffbb;" | 11 || April 13 || Nationals || 14–3 || Flaherty (2–0) || Strasburg (0–1) || — || 12,714 || 6–5 || W1 |- style="background:#ffbbbb;" | 12 || April 14 || Nationals || 0–6 ||Ross (1–0) || Wainwright (0–2)|| — || 13,206|| 6–6 ||L1 |- style="background:#ffbbbb;" | 13 || April 16 || @ Phillies || 2–9 || Eflin (1–0) || Martínez (0–3) || — || 10,842 || 6–7 || L2 |- style="background:#bbffbb;" | 14 || April 17 || @ Phillies || 9–4 || Helsley (2–0) || Moore (0–1) || — || 10,890 || 7–7 || W1 |- style="background:#ffbbbb;" | 15 || April 18 || @ Phillies || 0–2 || Nola (1–1) || Gant (0–2) || — || 10,876 || 7–8 || L1 |- style="background:#bbffbb;" | 16 || April 19 || @ Nationals || 12–5 || Flaherty (3–0) || Ross (1–1) || — || 7,542 || 8–8 || W1 |- style="background:#ffbbbb;" | 17 || April 20 || @ Nationals || 2–3 || Hudson (2–0) || Gallegos (2–1) || Hand (2) || 8,418 || 8–9 || L1 |- style="background:#ffbbbb;" | 18 || April 21 || @ Nationals || 0–1 || Scherzer (1–1) || Martínez (0–4) || Hand (3) || 7,769 || 8–10 || L2 |- style="background:#bbffbb;" | 19 || April 23 || Reds || 5–4 || Kim (1–0) || Gray (0–1) || Reyes (4) || 13,196 || 9–10 || W1 |- style="background:#bbffbb;" | 20 || April 24 || Reds || 2–0 || Gant (1–2) || Miley (2–2) || Gallegos (1) || 13,176 || 10–10 || W2 |- style="background:#bbffbb;" | 21 || April 25 || Reds || 5–2 || Flaherty (4–0) || Castillo (1–2) || Reyes (5) || 13,348 || 11–10 || W3 |- style="background:#ffbbbb;" | 22 || April 26 || Phillies || 1–2 || Wheeler (2–2) || Wainwright (0–3) || Neris (4) || 12,866 || 11–11 || L1 |- style="background:#bbffbb;" | 23 || April 27 || Phillies || 5–2 || Martínez (1–4) || Eflin (1–1) || Reyes (6) || 12,895 || 12–11 || W1 |- style="background:#ffbbbb;" | 24 || April 28 || Phillies || 3–5 || Kintzler (1–0) || Cabrera (0–1) || Neris (5) || 12,701 || 12–12 || L1 |- style="background:#bbffbb;" | 25 || April 29 || Phillies || 4–3 || Reyes (1–0) || Hale (0–1) || — || 13,159 || 13–12 || W1 |- style="background:#bbffbb;" | 26 || April 30 || @ Pirates || 7–3 || Gant (2–2) || Brubaker (2–2) || — || 5,953 || 14–12 || W2
|- style="background:#bbffbb;" | 27 || May 1 || @ Pirates || 12–5 || Flaherty (5–0) || Cahill (1–3) || — || 7,331 || 15–12 || W3 |- style="background:#bbffbb;" | 28 || May 2 || @ Pirates || 3–0 || Martínez (2–4) || Crowe (0–1) || Reyes (7) || 7,343 || 16–12 || W4 |- style="background:#bbffbb;" | 29 || May 3 || Mets || 6–5 || Wainwright (1–3) || Lucchesi (0–2) || Reyes (8) || 12,686 || 17–12 || W5 |- style="background:#bbbbbb;" | — || May 4 || Mets || colspan=8 | Postponed (rain, makeup May 5) |- style="background:#bbffbb;" | 30 || May 5 || Mets || 4–1 || Helsley (3–0) || Stroman (3–3) || Reyes (9) || N/A || 18–12 || W6 |- style="background:#ffbbbb;" | 31 || May 5 || Mets || 2–7 || Yamamoto (1–0) || Oviedo (0–1) || — || 13,187 || 18–13 || L1 |- style="background:#ffbbbb;" | 32 || May 6 || Mets || 1–4 || Walker (2–1) || Gant (2–3) || Díaz (4) || 12,939 || 18–14 || L2 |- style="background:#bbffbb;" | 33 || May 7 || Rockies || 5–0 || Flaherty (6–0) || Gomber (2–4) || — || 13,435 || 19–14 || W1 |- style="background:#bbffbb;" | 34 || May 8 || Rockies || 9–8 || Martínez (3–4) || Gonzalez (1–1) || Reyes (10) || 13,390 || 20–14 || W2 |- style="background:#bbffbb;" | 35 || May 9 || Rockies || 2–0 || Wainwright (2–3) || Márquez (1–4) || Helsley (1) || 13,380 || 21–14 || W3 |- style="background:#bbffbb;" | 36 || May 11 || @ Brewers || 6–1 || Reyes (2–0) || Boxberger (0–1) || — || 10,595 || 22–14 || W4 |- style="background:#ffbbbb;" | 37 || May 12 || @ Brewers || 1–4 || Williams (1–0) || Helsley (3–1) || Hader (8) || 10,226 || 22–15 || L1 |- style="background:#bbffbb;" | 38 || May 13 || @ Brewers || 2–0 || Flaherty (7–0) || Burnes (2–3) || Reyes (11) || 10,554 || 23–15 || W1 |- style="background:#ffbbbb;" | 39 || May 14 || @ Padres || 4–5 || Musgrove (3–4) || Oviedo (0–2) || Melancon (13) || 15,250 || 23–16 || L1 |- style="background:#ffbbbb;" | 40 || May 15 || @ Padres (FS1) || 3–13 || Díaz (2–0) || Wainwright (2–4) || — || 15,250 || 23–17 || L2 |- style="background:#ffbbbb;" | 41 || May 16 || @ Padres (ESPN)|| 3–5 || Lamet (1–0) || Kim (1–1) || Melancon (14) || 15,250 || 23–18 || L3 |- style="background:#bbffbb;" | 42 || May 18 || Pirates || 5–2 || Gant (3–3) || Brubaker (3–3) || Reyes (12) || 14,005 || 24–18 || W1 |- style="background:#bbffbb;" | 43 || May 19 || Pirates || 8–5 || Flaherty (8–0) || Cahill (1–5) || Reyes (13) || 14,677 || 25–18 || W2 |- style="background:#ffbbbb;" | 44 || May 21 || Cubs || 3–12 || Hendricks (4–4) || Helsley (3–2) || — || 24,282 || 25–19 || L1 |- style="background:#bbffbb;" | 45 || May 22 || Cubs (Fox)|| 2–1 || Cabrera (1–1) || Alzolay (2–4) || Reyes (14) || 26,027 || 26–19 || W1 |- style="background:#ffbbbb;" | 46 || May 23 || Cubs (ESPN) || 1–2 || Kimbrel (1–2) || Reyes (2–1) || — || 24,082|| 26–20 || L1 |- style="background:#ffbbbb;" | 47 || May 24 || @ White Sox || 1–5 || Lynn (5–1) || Kim (1–2) || — || 14,629 || 26–21 || L2 |- style="background:#ffbbbb;" | 48 || May 25 || @ White Sox || 3–8 || Giolito (4–4) || Flaherty (8–1) || Hendriks (10) || 16,380 || 26–22 || L3 |- style="background:#bbffbb;" | 49 || May 26 || @ White Sox || 4–0 || Gant (4–3) || Rodón (5–2) || — || 14,791 || 27–22 || W1 |- style="background:#bbffbb;" | 50 || May 27 || @ Diamondbacks || 5–4 || Reyes (3–1) || Crichton (0–4) || Ponce de Leon (1) || 8,951 || 28–22 || W2 |- style="background:#bbffbb;" | 51 || May 28 || @ Diamondbacks || 8–6 || Woodford (1–0) || Bumgarner (4–5) || Ponce de Leon (2) || 11,581 || 29–22 || W3 |- style="background:#bbffbb;" | 52 || May 29 || @ Diamondbacks || 7–4 || Wainwright (3–4) || Frankoff (0–2) || Reyes (15) || 17,834 || 30–22 || W4 |- style="background:#ffbbbb;" | 53 || May 30 || @ Diamondbacks || 2–9 || Peacock (2–1) || Kim (1–3) || Smith (1) || 16,681 || 30–23 || L1 |- style="background:#ffbbbb;" | 54 || May 31 || @ Dodgers || 4–9 || Bauer (6–3) || Helsley (3–3) || — || 18,071 || 30–24 || L2
|- style="background:#bbffbb;" | 55 || June 1 || @ Dodgers || 3–2 || Gallegos (3–1) || Treinen (1–2) || Reyes (16) || 15,683 || 31–24 || W1 |- style="background:#ffbbbb;" | 56 || June 2 || @ Dodgers || 3–14 || Buehler (4–0) || Martínez (3–5) || — || 15,889 || 31–25 || L1 |- style="background:#ffbbbb;" | 57 || June 3 || Reds || 2–4 || Gutiérrez (1–1) || Wainwright (3–5) || Sims (4) || 15,327 || 31–26 || L2 |- style="background:#ffbbbb;" | 58 || June 4 || Reds || 4–6 || Castillo (2–8) || Kim (1–4) || Feliz (1) || 22,756 || 31–27 || L3 |- style="background:#ffbbbb;" | 59 || June 5 || Reds || 2–5 || Mahle (5–2) || Helsley (3–4) || Sims (5) || 23,365 || 31–28 || L4 |- style="background:#ffbbbb;" | 60 || June 6 || Reds || 7–8 || Hembree (1–1) || Reyes (3–2) || Sims (6) || 21,152 || 31–29 || L5 |- style="background:#ffbbbb;" | 61 || June 8 || Indians || 1–10 || Bieber (7–3) || Martínez (3–6) || — || 16,178 || 31–30 || L6 |- style="background:#bbffbb;" | 62 || June 9 || Indians || 8–2 || Wainwright (4–5) || Mejía (0–1) || — || 16,331 || 32–30 || W1 |- style="background:#ffbbbb;" | 63 || June 11 || @ Cubs || 5–8 || Nance (1–0) || Cabrera (1–2) || Kimbrel (16) || 35,112 || 32–31 || L1 |- style="background:#ffbbbb;" | 64 || June 12 || @ Cubs (Fox)|| 2–7 || Hendricks (8–4) || Gant (4–4) || Kimbrel (17) || 39,095 || 32–32 || L2 |- style="background:#ffbbbb;" | 65 || June 13 || @ Cubs (ESPN) || 0–2 || Davies (4–3) || Martínez (3–7) || Kimbrel (18) || 35,225 || 32–33 || L3 |- style="background:#bbffbb;" | 66 || June 14 || Marlins || 4–2 || Gallegos (4–1) || Floro (2–4) || Reyes (17) || 24,281 || 33–33 || W1 |- style="background:#bbffbb;" | 67 || June 15 || Marlins || 2–1 || Reyes (4–2) || García (3–5) || — || 24,736 || 34–33 || W2 |- style="background:#bbffbb;" | 68 || June 16 || Marlins || 1–0 || Helsley (4–4) || Alcántara (4–6) || — || 24,682 || 35–33 || W3 |- style="background:#ffbbbb;" | 69 || June 17 || @ Braves || 0–4 || Morton (6–3) || Gant (4–5) || — || 33,412 || 35–34 || L1 |- style="background:#ffbbbb;" | 70 || June 18 || @ Braves || 1–9 || Fried (4–4) || Martínez (3–8) || — || 40,377 || 35–35 || L2 |- style="background:#bbbbbb;" | — || June 19 || @ Braves || colspan=8 | Postponed (rain, makeup June 20) |- style="background:#bbffbb;" | 71 || June 20 || @ Braves || 9–1 || Wainwright (5–5) || Wilson (2–3) || — || 33,781 || 36–35 || W1 |- style="background:#ffbbbb;" | 72 || June 20 || @ Braves (ESPN) || 0–1 || Smyly (4–3) || Kim (1–5) || Smith (13) || 36,977 || 36–36 || L1 |- style="background:#ffbbbb;" | 73 || June 22 || @ Tigers || 2–8 || Funkhouser (1–0) || Oviedo (0–3) || — || 13,492 || 36–37 || L2 |- style="background:#ffbbbb;" | 74 || June 23 || @ Tigers || 2–6 || Manning (1–1) || Gant (4–6) || — || 13,263 || 36–38 || L3 |- style="background:#ffbbbb;" | 75 || June 24 || Pirates || 2–8 || Kuhl (2–4) || Martínez (3–9) || — || 33,254 || 36–39 || L4 |- style="background:#ffbbbb;" | 76 || June 25 || Pirates || 4–5 || Crowe (1–4) || Woodford (1–1) || Rodríguez (10) || 34,812 || 36–40 || L5 |- style="background:#bbffbb;" | 77 || June 26 || Pirates || 3–1 || Wainwright (6–5) || Brubaker (4–7) || Reyes (18) || 33,058 || 37–40 || W1 |- style="background:#ffbbbb;" | 78 || June 27 || Pirates || 2–7 || Kranick (1–0) || Oviedo (0–4) || — || 25,163 || 37–41 || L1 |- style="background:#bbffbb;" | 79 || June 28 || Diamondbacks || 7–1 || Gallegos (5–1) || Young (2–6) || — || 27,175 || 38–41 || W1 |- style="background:#bbffbb;" | 80 || June 29 || Diamondbacks || 3–2 || Martínez (4–9) || Smith (2–4) || Reyes (19) || 28,740 || 39–41 || W2 |- style="background:#bbffbb;" | 81 || June 30 || Diamondbacks || 7–4 || Kim (2–5) || Smith (1–4) || Reyes (20) || 27,235 || 40–41 || W3
|- style="background:#ffbbbb;" | 82 || July 1 || @ Rockies || 2–5 || Bard (4–4) || Gallegos (5–2) || — || 30,410 || 40–42 || L1 |- style="background:#bbffbb;" | 83 || July 2 || @ Rockies || 9–3 || Reyes (5–2) || Almonte (1–2) || — || 47,224 || 41–42 || W1