The 2004 Philadelphia Phillies season was the 122nd season in the history of the franchise. The Phillies finished in second-place in the National League East with a record of 86–76, ten games behind the Atlanta Braves, and six games behind the NL wild-card champion Houston Astros. The Phillies were managed by their former shortstop Larry Bowa (85–75) and Gary Varsho (1–1), who replaced Bowa on the penultimate day of the season. The Phillies played their first season of home games at Citizens Bank Park, which opened April 12, with the visiting Cincinnati Reds defeating the Phillies, 4–1.

Offseason November 3, 2003: Billy Wagner was traded by the Houston Astros to the Philadelphia Phillies for Brandon Duckworth, Taylor Buchholz, and Ezequiel Astacio. January 15, 2004: A. J. Hinch signed as a free agent with the Philadelphia Phillies.

Regular season A season of high expectations due to notable offseason moves was a disappointment, costing manager Larry Bowa his job towards season's end.

Season standings

National League East

Record vs. opponents

Notable transactions July 30, 2004: Ricky Ledée was traded by the Philadelphia Phillies with Alfredo Simón (minors) to the San Francisco Giants for Félix Rodríguez.Ricky Ledée Statistics Baseball-Reference.com

Citizens Bank Park

Citizens Bank Park is a 43,647-seat baseball-only stadium in Philadelphia, Pennsylvania that opened on April 3, 2004, and hosted its first regular-season baseball game on April 12 of that same year, as the tenants of the facility, the Philadelphia Phillies lost to the Cincinnati Reds, 4–1. The ballpark was built to replace the now-demolished Veterans Stadium (a football/baseball multipurpose facility), and features natural grass and dirt playing field and also features a number of Philadelphia style food stands, including several which serve cheesesteaks, hoagies, and other regional specialties. Behind center field is Ashburn Alley, named after Phillies great center fielder and Hall of Famer Richie Ashburn, a walkway featuring restaurants and memorabilia from Phillies history, along with a restaurant/bar and grille called "Harry The K's" named after Hall of Fame broadcaster Harry Kalas.

Randy Wolf of the Phillies threw the first pitch at 1:32 PM US EDT on April 12, 2004, to D'Angelo Jiménez of the Reds, who got the park's first hit, a leadoff double. Bobby Abreu of the Phillies hit the first home run, which also served as the franchise's first hit in the club's new home. Reds pitcher Paul Wilson earned the first win in that game and Danny Graves earned the park's first save. On June 14, 2004, Jim Thome hit his 400th career home run to the left-center field seats at Citizens Bank Park.

2004 game log Legend Phillies win Phillies loss PostponementBoldPhillies team member

|- style="background:#fbb" | 1 || April 5 || @ Pirates || 1–2 || Kip Wells (1–0) || Kevin Millwood (0–1) || José Mesa (1) || 35,702 || 0–1 |- style="background:#bfb" | 2 || April 7 || @ Pirates || 5–4 || Rhéal Cormier (1–0) || Brian Boehringer (0–1) || Billy Wagner (1) || 15,126 || 1–1 |- style="background:#fbb" | 3 || April 8 || @ Pirates || 2–6 || Ryan Vogelsong (1–0) || Vicente Padilla (0–1) || José Mesa (2) || 9,689 || 1–2 |- style="background:#fbb" | 4 || April 9 || @ Marlins || 3–4 || Matt Perisho (2–0) || Rhéal Cormier (1–1) || Armando Benítez (3) || 22,923 || 1–3 |- style="background:#fbb" | 5 || April 10 || @ Marlins || 3–5 || Darren Oliver (1–0) || Rhéal Cormier (1–2) || Armando Benítez (4) || 45,725 || 1–4 |- style="background:#fbb" | 6 || April 11 || @ Marlins || 1–3 || Josh Beckett (1–0) || Kevin Millwood (0–2) || Armando Benítez (5) || 21,317 || 1–5 |- style="background:#fbb" | 7 || April 12 || Reds || 1–4 || Paul Wilson (2–0) || Randy Wolf (0–1) || Danny Graves (4) || 41,626 || 1–6 |- style="background:#bbb" | – || April 14 || Reds || colspan=6 | Postponed (rain); Makeup: June 14 |- style="background:#bfb" | 8 || April 15 || Reds || 6–4 || Rhéal Cormier (2–2) || Ryan Wagner (0–1) || Billy Wagner (2) || 37,512 || 2–6 |- style="background:#bfb" | 9 || April 16 || Expos || 4–2 || Eric Milton (1–0) || Liván Hernández (0–2) || Billy Wagner (3) || 39,613 || 3–6 |- style="background:#bfb" | 10 || April 17 || Expos || 6–3 || Kevin Millwood (1–2) || John Patterson (1–1) || Billy Wagner (4) || 42,931 || 4–6 |- style="background:#bfb" | 11 || April 18 || Expos || 5–4 || Billy Wagner (1–0) || Rocky Biddle (0–1) || None || 43,791 || 5–6 |- style="background:#fbb" | 12 || April 20 || Marlins || 1–3 || Dontrelle Willis (3–0) || Vicente Padilla (0–2) || Armando Benítez (7) || 36,479 || 5–7 |- style="background:#fbb" | 13 || April 21 || Marlins || 7–8 (12) || Justin Wayne (1–0) || Ryan Madson (0–1) || None || 34,060 || 5–8 |- style="background:#fbb" | 14 || April 22 || Marlins || 7–9 || Darren Oliver (2–1) || Brett Myers (0–1) || Armando Benítez (8) || 35,880 || 5–9 |- style="background:#bfb" | 15 || April 23 || @ Expos || 8–6 || Kevin Millwood (2–2) || Chad Bentz (0–2) || Billy Wagner (5) || 30,112 || 6–9 |- style="background:#bfb" | 16 || April 24 || @ Expos || 7–0 || Randy Wolf (1–1) || Tomo Ohka (0–4) || None || 6,899 || 7–9 |- style="background:#fbb" | 17 || April 25 || @ Expos || 0–2 || Zach Day (2–1) || Vicente Padilla (0–3) || Rocky Biddle (5) || 8,267 || 7–10 |- style="background:#bfb" | 18 || April 27 || @ Cardinals || 7–3 || Eric Milton (2–0) || Matt Morris (3–2) || None || 25,185 || 8–10 |- style="background:#bfb" | 19 || April 28 || @ Cardinals || 6–3 || Ryan Madson (1–1) || Mike Lincoln (2–2) || Billy Wagner (6) || 26,348 || 9–10 |- style="background:#fbb" | 20 || April 29 || @ Cardinals || 4–5 (13) || Mike Lincoln (3–2) || Amaury Telemaco (0–1) || None || 29,768 || 9–11 |- style="background:#bfb" | 21 || April 30 || Diamondbacks || 4–0 || Randy Wolf (2–1) || Elmer Dessens (1–3) || None || 43,721 || 10–11

|- style="background:#fbb" | 22 || May 1 || Diamondbacks || 4–6 || Randy Johnson (3–2) || Vicente Padilla (0–4) || Matt Mantei (4) || 44,048 || 10–12 |- style="background:#bfb" | 23 || May 2 || Diamondbacks || 6–5 (14) || Ryan Madson (2–1) || Óscar Villarreal (0–2) || None || 43,025 || 11–12 |- style="background:#fbb" | 24 || May 4 || Cardinals || 5–6 || Chris Carpenter (2–1) || Brett Myers (0–2) || Jason Isringhausen (3) || 33,294 || 11–13 |- style="background:#bfb" | 25 || May 5 || Cardinals || 5–4 || Kevin Millwood (3–2) || Woody Williams (0–3) || Billy Wagner (7) || 35,944 || 12–13 |- style="background:#fbb" | 26 || May 6 || Cardinals || 4–7 || Jeff Suppan (3–3) || Randy Wolf (2–2) || Jason Isringhausen (4) || 44,376 || 12–14 |- style="background:#bfb" | 27 || May 7 || @ Diamondbacks || 4–1 || Vicente Padilla (1–4) || Randy Johnson (3–3) || Billy Wagner (8) || 30,738 || 13–14 |- style="background:#bfb" | 28 || May 8 || @ Diamondbacks || 8–7 || Eric Milton (3–0) || Brandon Webb (2–2) || Tim Worrell (1) || 38,907 || 14–14 |- style="background:#bfb" | 29 || May 9 || @ Diamondbacks || 7–1 || Brett Myers (1–2) || Steve Sparks (2–2) || None || 29,637 || 15–14 |- style="background:#bfb" | 30 || May 11 || @ Giants || 10–4 || Kevin Millwood (4–2) || Jerome Williams (3–2) || None || 35,759 || 16–14 |- style="background:#fbb" | 31 || May 12 || @ Giants || 3–4 || Jason Schmidt (3–2) || Randy Wolf (2–3) || Matt Herges (11) || 35,849 || 16–15 |- style="background:#bfb" | 32 || May 13 || @ Giants || 4–3 || Vicente Padilla (2–4) || Kirk Rueter (1–4) || Ryan Madson (1) || 39,651 || 17–15 |- style="background:#bfb" | 33 || May 14 || @ Rockies || 6–4 || Eric Milton (4–0) || Joe Kennedy (4–1) || Tim Worrell (2) || 32,171 || 18–15 |- style="background:#bfb" | 34 || May 15 || @ Rockies || 16–5 || Brett Myers (2–2) || Scott Elarton (0–6) || None || 33,629 || 19–15 |- style="background:#fbb" | 35 || May 16 || @ Rockies || 6–7 || Tim Harikkala (1–0) || Rhéal Cormier (2–3) || Shawn Chacón (10) || 33,623 || 19–16 |- style="background:#fbb" | 36 || May 17 || @ Rockies || 6–7 || Brian Fuentes (1–0) || Tim Worrell (0–1) || None || 22,111 || 19–17 |- style="background:#bfb" | 37 || May 18 || Dodgers || 8–7 || Vicente Padilla (3–4) || Guillermo Mota (2–1) || Tim Worrell (3) || 36,073 || 20–17 |- style="background:#bfb" | 38 || May 19 || Dodgers || 9–4 || Eric Milton (5–0) || Hideo Nomo (3–5) || None || 33,916 || 21–17 |- style="background:#bfb" | 39 || May 20 || Dodgers || 4–0 || Brett Myers (3–2) || Kazuhisa Ishii (5–3) || None || 37,793 || 22–17 |- style="background:#bfb" | 40 || May 21 || Padres || 5–4 || Ryan Madson (3–1) || Akinori Otsuka (3–2) || Tim Worrell (4) || 40,555 || 23–17 |- style="background:#fbb" | 41 || May 22 || Padres || 6–9 || Justin Germano (1–0) || Roberto Hernández (0–1) || None || 43,634 || 23–18 |- style="background:#bfb" | 42 || May 23 || Padres || 6–4 || Vicente Padilla (4–4) || Brian Lawrence (6–3) || Tim Worrell (5) || 44,216 || 24–18 |- style="background:#fbb" | 43 || May 25 || @ Mets || 0–5 || Steve Trachsel (5–3) || Eric Milton (5–1) || None || 29,385 || 24–19 |- style="background:#bfb" | 44 || May 26 || @ Mets || 7–4 || Roberto Hernández (1–1) || John Franco (0–3) || Tim Worrell (6) || 20,349 || 25–19 |- style="background:#fbb" | 45 || May 27 || Braves || 1–6 || Jaret Wright (3–5) || Kevin Millwood (4–3) || None || 38,802 || 25–20 |- style="background:#bfb" | 46 || May 28 || Braves || 3–2 (10) || Tim Worrell (1–1) || Antonio Alfonseca (5–1) || None || 40,187 || 26–20 |- style="background:#fbb" | 47 || May 29 || Braves || 3–9 || John Thomson (4–2) || Vicente Padilla (4–5) || None || 44,057 || 26–21 |- style="background:#bfb" | 48 || May 30 || Braves || 4–1 || Eric Milton (6–1) || Travis Smith (0–1) || Tim Worrell (7) || 44,304 || 27–21 |- style="background:#fbb" | 49 || May 31 || Mets || 3–5 || Orber Moreno (1–1) || Brett Myers (3–3) || Braden Looper (8) || 43,620 || 27–22

|- style="background:#fbb" | 50 || June 1 || Mets || 1–4 (10) || Ricky Bottalico (2–0) || Tim Worrell (1–2) || Braden Looper (9) || 34,436 || 27–23 |- style="background:#fbb" | 51 || June 2 || Mets || 5–3 (10) || David Weathers (5–1) || Roberto Hernández (1–2) || Braden Looper (10) || 37,625 || 27–24 |- style="background:#fbb" | 52 || June 3 || @ Braves || 4–8 || John Thomson (5–2) || Josh Hancock (0–1) || None || 23,405 || 27–25 |- style="background:#bfb" | 53 || June 4 || @ Braves || 9–1 || Eric Milton (7–1) || Travis Smith (0–2) || None || 27,699 || 28–25 |- style="background:#bfb" | 54 || June 5 || @ Braves || 5–3 || Brett Myers (4–3) || Russ Ortiz (6–5) || Tim Worrell (8) || 29,252 || 29–25 |- style="background:#fbb" | 55 || June 6 || @ Braves || 4–6 || Jaret Wright (4–5) || Kevin Millwood (4–4) || John Smoltz (8) || 27,775 || 29–26 |- style="background:#fbb" | 56 || June 8 || @ White Sox || 11–14 || Mark Buehrle (6–1) || Amaury Telemaco (0–2) || Cliff Politte (1) || 33,114 || 29–27 |- style="background:#bfb" | 57 || June 9 || @ White Sox || 13–10 || Eric Milton (8–1) || Jon Garland (5–3) || None || 17,570 || 30–27 |- style="background:#bbb" | – || June 10 || @ White Sox || colspan=6 | Postponed (rain); Makeup: August 30 |- style="background:#bfb" | 58 || June 11 || @ Twins || 11–6 || Tim Worrell (2–2) || Terry Mulholland (0–2) || None || 22,272 || 31–27 |- style="background:#fbb" | 59 || June 12 || @ Twins || 1–6 || Carlos Silva (7–3) || Kevin Millwood (4–5) || None || 22,219 || 31–28 |- style="background:#bfb" | 60 || June 13 || @ Twins || 2–1 || Rhéal Cormier (3–3) || Aaron Fultz (2–2) || Billy Wagner (9) || 23,479 || 32–28 |- style="background:#bfb" | 61 || June 14 || Reds || 10–7 (8) || Ryan Madson (4–1) || John Riedling (4–1) || None || 44,710 || 33–28 |- style="background:#fbb" | 62 || June 15 || Tigers || 3–10 || Jeremy Bonderman (5–5) || Brian Powell (0–1) || None || 39,555 || 33–29 |- style="background:#bbb" | – || June 16 || Tigers || colspan=6 | Postponed (rain); Makeup: June 17 as a day-night double-header |- style="background:#bfb"