The 2004 St. Louis Cardinals season was the 123rd season for the St. Louis Cardinals, a Major League Baseball franchise in St. Louis, Missouri. It was the 113th season for the Cardinals in the National League and their 39th in Busch Memorial Stadium.

The Cardinals went 105–57 during the season (the team's best record in the La Russa era), the most wins of any team in baseball that year, the most wins by any Cardinals team since 1944, and the first Cardinal team to win 100 or more games since 1985, and won the National League Central by 13 games over the NL Wild-Card Champion Houston Astros. In the playoffs the Cardinals defeated the Los Angeles Dodgers 3 games to 1 in the NLDS and the Astros 4 games to 3 in the NLCS to reach their first World Series since 1987. In the World Series the Cardinals faced the Boston Red Sox and were swept 4 games to 0. It was the final World Series played at Busch Memorial Stadium.

Catcher Mike Matheny, third baseman Scott Rolen, and outfielder Jim Edmonds won Gold Gloves this year.

Offseason December 2, 2003: Signed free agent pitcher Chris Carpenter. December 13, 2003: Traded outfielder J. D. Drew and catcher Eli Marrero to the Atlanta Braves for pitchers Jason Marquis, Ray King, and Adam Wainwright.J. D. Drew Statistics Baseball-Reference.com January 10, 2004: Signed free agent pitcher Alan Benes. February 12, 2004: Signed free agent John Mabry.John Mabry Statistics Baseball-Reference.com

Regular season

Opening Day lineup   4 Tony Womack 2B12 Ray Lankford LF  5 Albert Pujols 1B15 Jim Edmonds CF27 Scott Rolen 3B  3 Édgar Rentería SS16 Reggie Sanders RF22 Mike Matheny C35 Matt Morris P

Summary Acquired via trade from the Colorado Rockies on August 6, 2004, Larry Walker, customarily the Rockies' number three hitter, became the Cardinals' number two hitter. The Cardinals already had Edmonds, Pujols and Rolen in the 3 through 5 spots. Walker made his Cardinals debut on August 7, playing the New York Mets, and appeared as a pinch-hitter and struck out in the seventh inning. He drew a walk from Mike Stanton in the ninth inning and scored the game-winning run on a Yadier Molina single.

Season standings

National League Central

Record vs. opponents

Transactions August 6: Traded Jason Burch (minors) and players to be named later to the Colorado Rockies for outfielder Larry Walker. The Cardinals sent pitchers Luís Martínez and Chris Narveson on August 11 to the Rockies to complete the trade.Larry Walker Statistics Baseball-Reference.com

Game log

|- bgcolor=#ffbbbb | 1 || April 5 || Brewers || 6–8 || Burba (1–0) || Morris (0–1) || Kolb (1) || 49,149 || 0–1 |- bgcolor=#ffbbbb | 2 || April 6 || Brewers || 5–7 || Davis (1–0) || Marquis (0–1) || Kolb (2) || 23,966 || 0–2 |- bgcolor=#ccffcc | 3 || April 7 || Brewers || 9–4 || Lincoln (1–0) || Hernandez (0–1) || — || 23,488 || 1–2 |- bgcolor=#ffbbbb | 4 || April 8 || Brewers || 5–11 || Capuano (1–0) || Suppan (0–1) || Burba (1) || 27,433 || 1–3 |- bgcolor=#ccffcc | 5 || April 9 || @ Diamondbacks || 13–6 || Carpenter (1–0) || Daigle (0–1) || — || 35,930 || 2–3 |- bgcolor=#ccffcc | 6 || April 10 || @ Diamondbacks || 10–2 || Morris (1–1) || Sparks (0–1) || — || 38,842 || 3–3 |- bgcolor=#ccffcc | 7 || April 11 || @ Diamondbacks || 6–5 || Lincoln (2–0) || Mantei (0–1) || Isringhausen (1) || 32,072 || 4–3 |- bgcolor=#ffbbbb | 8 || April 12 || Astros || 5–10 || Stone (1–0) || Lincoln (2–1) || — || 26,654 || 4–4 |- bgcolor=#ffbbbb | 9 || April 13 || Astros || 3–5 || Clemens (2–0) || Suppan (0–2) || Dotel (1) || 24,939 || 4–5 |- bgcolor=#ffbbbb | 10 || April 14 || Astros || 1–11 || Miller (2–0) || Carpenter (1–1) || — || 26,605 || 4–6 |- bgcolor=#ccffcc | 11 || April 16 || Rockies || 13–5 || Morris (2–1) || Stark (0–2) || — || 34,541 || 5–6 |- bgcolor=#ccffcc | 12 || April 17 || Rockies || 8–4 || Marquis (1–1) || Estes (2–1) || — || 46,471 || 6–6 |- bgcolor=#ffbbbb | 13 || April 18 || Rockies || 5–8 || Jennings (1–1) || Williams (0–1) || Chacon (3) || 34,697 || 6–7 |- bgcolor=#ccffcc | 14 || April 20 || @ Astros || 5–3 || Suppan (1–2) || Miller (2–1) || Isringhausen (2) || 29,625 || 7–7 |- bgcolor=#ccffcc | 15 || April 21 || @ Astros || 12–6 || Morris (3–1) || Redding (0–3) || — || 27,354 || 8–7 |- bgcolor=#ccffcc | 16 || April 22 || @ Astros || 2–1 || Isringhausen (1–0) || Miceli (0–1) || Tavarez (1) || 33,706 || 9–7 |- bgcolor=#ffbbbb | 17 || April 23 || @ Brewers || 1–2 || Kieschnick (1–0) || Kline (0–1) || — || 17,107 || 9–8 |- bgcolor=#ffbbbb | 18 || April 24 || @ Brewers || 1–3 || Saenz (1–0) || Williams (0–2) || Kolb (5) || 22,222 || 9–9 |- bgcolor=#ccffcc | 19 || April 25 || @ Brewers || 5–2 || Suppan (2–2) || Sheets (3–1) || — || 18,135 || 10–9 |- bgcolor=#ffbbbb | 20 || April 27 || Phillies || 3–7 || Milton (2–0) || Morris (3–2) || — || 25,185 || 10–10 |- bgcolor=#ffbbbb | 21 || April 28 || Phillies || 3–6 || Madson (1–1) || Lincoln (2–2) || Wagner (6) || 26,348 || 10–11 |- bgcolor=#ccffcc | 22 || April 29 || Phillies || 5–4 || Lincoln (3–2) || Telemaco (0–1) || — || 29,768 || 11–11 |- bgcolor=#ccffcc | 23 || April 30 || Cubs || 4–3 || Kline (1–1) || Farnsworth (0–1) || — || 44,224 || 12–11

|- bgcolor=#ffbbbb | 24 || May 1 || Cubs || 2–4 || Clement (4–1) || Suppan (2–3) || Borowski (6) || 49,505 || 12–12 |- bgcolor=#ccffcc | 25 || May 2 || Cubs || 1–0 || Isringhausen (2–0) || Farnsworth (0–2) || — || 47,757 || 13–12 |- bgcolor=#ffbbbb | 26 || May 3 || Cubs || 3–7 || Maddux (2–2) || Marquis (1–2) || — || 40,340 || 13–13 |- bgcolor=#ccffcc | 27 || May 4 || @ Phillies || 6–5 || Carpenter (2–1) || Myers (0–2) || Isringhausen (3) || 33,294 || 14–13 |- bgcolor=#ffbbbb | 28 || May 5 || @ Phillies || 4–5 || Millwood (3–2) || Williams (0–3) || Wagner (7) || 35,944 || 14–14 |- bgcolor=#ccffcc | 29 || May 6 || @ Phillies || 7–4 || Suppan (3–3) || Wolf (2–2) || Isringhausen (4) || 44,376 || 15–14 |- bgcolor=#ffbbbb | 30 || May 7 || @ Expos || 2–4 || Kim (2–0) || Morris (3–3) || Biddle (6) || 5,332 || 15–15 |- bgcolor=#ffbbbb | 31 || May 8 || @ Expos || 0–2 || Ohka (1–5) || Marquis (1–3) || Biddle (7) || 5,611 || 15–16 |- bgcolor=#ccffcc | 32 || May 9 || @ Expos || 5–2 || Carpenter (3–1) || Vargas (2–2) || Isringhausen (5) || 12,301 || 16–16 |- bgcolor=#ccffcc | 33 || May 11 || Braves || 5–1 || Williams (1–3) || Wright (2–3) || — || 35,000 || 17–16 |- bgcolor=#ccffcc | 34 || May 12 || Braves || 5–2 || Morris (4–3) || Hampton (0–4) || Isringhausen (6) || 28,921 || 18–16 |- bgcolor=#ffbbbb | 35 || May 13 || Braves || 5–6 || Alfonseca (4–0) || Suppan (3–4) || Smoltz (5) || 40,472 || 18–17 |- bgcolor=#ccffcc | 36 || May 14 || Marlins || 6–3 || Marquis (2–3) || Beckett (3–3) || Isringhausen (7) || 36,810 || 19–17 |- bgcolor=#ccffcc | 37 || May 15 || Marlins || 4–0 || Carpenter (4–1) || Oliver (2–2) || Tavarez (2) || 42,958 || 20–17 |- bgcolor=#ffbbbb | 38 || May 16 || Marlins || 2–3 || Penny (4–2) || Williams (1–4) || Benitez (15) || 46,889 || 20–18 |- bgcolor=#ffbbbb | 39 || May 18 || @ Mets || 4–5 || Bottalico (1–0) || Isringhausen (2–1) || — || 28,880 || 20–19 |- bgcolor=#ccffcc | 40 || May 19 || @ Mets || 1–0 || Eldred (1–0) || Stanton (0–1) || Kline (1) || 20,229 || 21–19 |- bgcolor=#ccffcc | 41 || May 20 || @ Mets || 11–4 || Marquis (3–3) || Seo (2–4) || — || 21,874 || 22–19 |- bgcolor=#ccffcc | 42 || May 21 || @ Cubs || 7–6 || Carpenter (5–1) || Mitre (2–3) || Isringhausen (8) || 39,298 || 23–19 |- bgcolor=#ffbbbb | 43 || May 22 || @ Cubs || 1–7 || Rusch (2–0) || Williams (1–5) || — || 40,131 || 23–20 |- bgcolor=#ffbbbb | 44 || May 23 || @ Cubs || 3–4 || Clement (6–3) || Morris (4–4) || Borowski (8) || 40,090 || 23–21 |- bgcolor=#bbbbbb | – || May 25 || Pirates || colspan=7|Postponed (snow); rescheduled for August 20 |- bgcolor=#ffbbbb | 45 || May 26 || Pirates || 8–11 || Benson (4–3) || Marquis (3–4) || — || 29,526 || 23–22 |- bgcolor=#ccffcc | 46 || May 27 || Pirates || 6–3 || Suppan (4–4) || Vogelsong (1–4) || Isringhausen (9) || 31,107 || 24–22 |- bgcolor=#ccffcc | 47 || May 28 || @ Astros || 2–1 || Isringhausen (3–1) || Dotel (0–3) || — || 41,399 || 25–22 |- bgcolor=#ccffcc | 48 || May 29 || @ Astros || 10–3 || Williams (2–5) || Miller (5–5) || — || 41,141 || 26–22 |- bgcolor=#ffbbbb | 49 || May 30 || @ Astros || 1–7 || Redding (3–3) || Morris (4–5) || — || 41,117 || 26–23 |- bgcolor=#ccffcc | 50 || May 31 || @ Pirates || 8–3 || Marquis (4–4) || Benson (4–4) || — || 12,582 || 27–23

|- bgcolor=#ccffcc | 51 || June 1 || @ Pirates || 8–1 || Suppan (5–4) || Vogelsong (1–5) || — || 11,540 || 28–23 |- bgcolor=#ccffcc | 52 || June 2 || @ Pirates || 5–3 || Carpenter (6–1) || Johnston (0–2) || Isringhausen (10) || 12,100 || 29–23 |- bgcolor=#ccffcc | 53 || June 3 || @ Pirates || 4–2 || Williams (3–5) || Perez (3–3) || Isringhausen (11) || 15,386 || 30–23 |- bgcolor=#ccffcc | 54 || June 4 || Astros || 5–3 || Morris (5–5) || Miller (5–6) || Isringhausen (12) || 47,373 || 31–23 |- bgcolor=#ccffcc | 55 || June 5 || Astros || 10–4 || Marquis (5–4) || Redding (3–4) || — || 46,003 || 32–23 |- bgcolor=#ffbbbb | 56 || June 6 || Astros || 2–3 || Oswalt (4–4) || Suppan (5–5) || Dotel (9) || 40,476 || 32–24 |- bgcolor=#ccffcc | 57 || June 7 || @ Cubs || 4–3 || Carpenter (7–1) || Rusch (2–1) || Isringhausen (13) || 39,226 || 33–24 |- bgcolor=#ffbbbb | 58 || June 8 || @ Cubs || 3–7 || Clement (7–4) || Williams (3–6) || — || 39,338 || 33–25 |- bgcolor=#ccffcc | 59 || June 9 || @ Cubs || 12–4 || Morris (6–5) || Prior (0–1) || — || 38,693 || 34–25 |- bgcolor=#ffbbbb | 60 || June 10 || @ Cubs || 3–12 || Zambrano (7–2) || Haren (0–1) || — || 38,707 || 34–26 |- bgcolor=#ccffcc | 61 || June 11 || @ Rangers || 12–7 || Suppan (6–5) || Dominguez (1–2) || — || 32,962 || 35–26 |- bgcolor=#ffbbbb | 62 || June 12 || @ Rangers || 2–7 || Drese (3–3) || Carpenter (7–2) || — || 42,173 || 35–27 |- bgcolor=#ccffcc | 63 || June 13 || @ Rangers || 13–2 || Williams (4–6) || Dickey (4–6) || — || 41,087 || 36–27 |- bgcolor=#ccffcc | 64 || June 15 || Athletics || 8–4 || Morris (7–5) || Bradford (3–3) || Isringhausen (14) || 33,866 || 37–27 |- bgcolor=#ccffcc | 65 || June 16 || Athletics || 6–2 || Marquis (6–4) || Harden (3–4) || Calero (1) || 33,386 || 38–27 |- bgcolor=#ccffcc | 66 || June 17 || Athletics || 5–4 || King (1–0) || Mecir (0–5) || — || 32,528 || 39–27 |- bgcolor=#ccffcc | 67 || June 18 || Reds || 4–3 || Tavarez (1–0) || Matthews (1–1) || — || 37,946 || 40–27 |- bgcolor=#ccffcc | 68 || June 19 || Reds || 9–2 || Williams (5–6) || Acevedo (3–6) || Isringhausen (15) || 48,641 || 41–27 |- bgcolor=#ffbbbb | 69 || June 20 || Reds || 0–6 || Bong (1–1) || Morris (7–6) || — || 45,620 || 41–28 |- bgcolor=#ffbbbb | 70 || June 22 || Cubs || 4–5 || Farnsworth (3–3) || Isringhausen (3–2) || Hawkins (9) || 45,070 || 41–29 |- bgcolor=#ccffcc | 71 || June 23 || Cubs || 10–9 || Kline (2–1) || Remlinger (0–1) || — || 43,127 || 42–29 |- bgcolor=#ccffcc | 72 || June 24 || Cubs || 4–0 || Carpenter (8–2) || Clement (7–6) || — || 48,042 || 43–29 |- bgcolor=#ccffcc | 73 || June 25 || @ Royals || 5–2 || Morris (8–6) || Greinke (1–4) || Isringhausen (16) || 40,628 || 44–29 |- bgcolor=#ccffcc | 74 || June 26 || @ Royals || 3–1 || Tavarez (2–0) || Seanez (0–1) || Isringhausen (17) || 40,963 || 45–29 |- bgcolor=#ccffcc | 75 || June 27 || @ Royals || 10–3 || Marquis (7–4) || Gobble (4–5) || — || 36,651 || 46–29 |- bgcolor=#ffbbbb | 76 || June 28 || @ Pirates || 1–2 || Mesa (1–0) || Tavarez (2–1) || — || 15,544 || 46–30 |- bgcolor=#ffbbbb | 77 || June 29 || @ Pirates || 0–3 || Burnett (1–2) || Carpenter (8–3) || Mesa (18) || 18,152 || 46–31 |- bgcolor=#ffbbbb | 78 || June 30 || @ Pirates || 5–6 || Mesa (2–0) || Tavarez (2–2) || — || 22,368 || 46–32

|- bgcolor=#ccffcc | 79 || July 2 || Mariners || 11–2 || Williams (6–6) || Thornton (0–1) || — || 35,186 || 47–32 |- bgcolor=#ccffcc | 80 || July 3 || Mariners || 8–1 || Marquis (8–4) || Franklin (3–7) || — || 38,055 || 48–32 |- bgcolor=#ccffcc