The 2003–04 Montreal Canadiens season was the club's 95th season of play and their 87th in the National Hockey League (NHL). The Canadiens would return to the playoffs reaching the Eastern Conference Semifinals before being eliminated by the eventual Stanley Cup champions, the Tampa Bay Lightning, 4–0.

Offseason Bob Gainey, who played his entire 16 season NHL career with Montreal, was named the team’s new general manager on June 2, 2003, and assumed the role on July 1 from Andre Savard, who was demoted to assistant general manager.

Regular season

Heritage Classic The Heritage Classic was an outdoor ice hockey game played on November 22, 2003, in Edmonton, Alberta, between the Edmonton Oilers and the Montreal Canadiens. It was the second NHL outdoor game and the first regular season outdoor game in the history of the NHL, and was modeled after the success of the "cold war" game between the University of Michigan and Michigan State University in 2001.

The first NHL game to be played outdoors was in 1991 when the Los Angeles Kings played the New York Rangers in an exhibition game outside Caesars Palace in Las Vegas. The event took place in Edmonton's Commonwealth Stadium in front of a crowd of 57,167, the largest number of people to ever watch a live NHL game, despite temperatures of close to −18 °C, −30 °C (−22 °F) with wind chill. It was held to commemorate the 25th anniversary of the Edmonton Oilers joining the NHL in 1979.

The Canadian Broadcasting Corporation (CBC) television broadcast also set the record for most viewers of a single NHL game with 2.747 million nationwide. This was the first NHL game broadcast in HDTV on CBC.

The Canadiens won the game by a score of 4–3.

Final standings

Schedule and results

Regular season

|1||October 9, 2003||2–5 || style="text-align:left;"| @ Ottawa Senators (2003–04) ||0–1–0–0||0 ||

|2||October 11, 2003||4–0 || style="text-align:left;"| @ Toronto Maple Leafs (2003–04) ||1–1–0–0||2 ||

|3||October 14, 2003||5–1 || style="text-align:left;"| Washington Capitals (2003–04) ||2–1–0–0||4 ||

|4||October 16, 2003||4–1 || style="text-align:left;"| Pittsburgh Penguins (2003–04) ||3–1–0–0||6 ||

|5||October 18, 2003||0–1 || style="text-align:left;"| Toronto Maple Leafs (2003–04) ||3–2–0–0||6 ||

|6||October 20, 2003||2–1 || style="text-align:left;"| Detroit Red Wings (2003–04) ||4–2–0–0||8 ||

|7||October 23, 2003||3–0 || style="text-align:left;"| New York Islanders (2003–04) ||5–2–0–0||10 ||

|8||October 25, 2003||2–6 || style="text-align:left;"| Ottawa Senators (2003–04) ||5–3–0–0||10 ||

|9||October 27, 2003||0–5 || style="text-align:left;"| @ Philadelphia Flyers (2003–04) ||5–4–0–0||10 ||

|10||October 28, 2003||0–2 || style="text-align:left;"| Boston Bruins (2003–04) ||5–5–0–0||10 ||

|11||October 30, 2003||1–0 OT|| style="text-align:left;"| @ Boston Bruins (2003–04) ||6–5–0–0||12 ||

|12||November 1, 2003||1–5 || style="text-align:left;"| New York Rangers (2003–04) ||6–6–0–0||12 ||

|13||November 4, 2003||2–4 || style="text-align:left;"| Edmonton Oilers (2003–04) ||6–7–0–0||12 ||

|14||November 7, 2003||1–2 || style="text-align:left;"| @ Buffalo Sabres (2003–04) ||6–8–0–0||12 ||

|15||November 8, 2003||3–0 || style="text-align:left;"| Buffalo Sabres (2003–04) ||7–8–0–0||14 ||

|16||November 11, 2003||1–1 OT|| style="text-align:left;"| Columbus Blue Jackets (2003–04) ||7–8–1–0||15 ||

|17||November 13, 2003||1–3 || style="text-align:left;"| @ New York Islanders (2003–04) ||7–9–1–0||15 ||

|18||November 15, 2003||3–2 || style="text-align:left;"| @ Ottawa Senators (2003–04) ||8–9–1–0||17 ||

|19||November 18, 2003||4–5 OT|| style="text-align:left;"| @ Vancouver Canucks (2003–04) ||8–9–1–1||18 ||

|20||November 20, 2003||1–2 || style="text-align:left;"| @ Calgary Flames (2003–04) ||8–10–1–1||18 ||

|21||November 22, 2003||4–3 || style="text-align:left;"| @ Edmonton Oilers (2003–04) ||9–10–1–1||20 ||

|22||November 25, 2003||2–5 || style="text-align:left;"| Vancouver Canucks (2003–04) ||9–11–1–1||20 ||

|23||November 28, 2003||5–3 || style="text-align:left;"| @ Washington Capitals (2003–04) ||10–11–1–1||22 ||

|24||November 29, 2003||1–1 OT|| style="text-align:left;"| Florida Panthers (2003–04) ||10–11–2–1||23 ||

|25||December 2, 2003||3–2 || style="text-align:left;"| Tampa Bay Lightning (2003–04) ||11–11–2–1||25 ||

|26||December 5, 2003||1–1 OT|| style="text-align:left;"| @ Carolina Hurricanes (2003–04) ||11–11–3–1||26 ||

|27||December 6, 2003||3–1 || style="text-align:left;"| Carolina Hurricanes (2003–04) ||12–11–3–1||28 ||

|28||December 8, 2003||2–3 || style="text-align:left;"| Philadelphia Flyers (2003–04) ||12–12–3–1||28 ||

|29||December 10, 2003||2–1 || style="text-align:left;"| @ New York Rangers (2003–04) ||13–12–3–1||30 ||

|30||December 12, 2003||2–4 || style="text-align:left;"| @ Florida Panthers (2003–04) ||13–13–3–1||30 ||

|31||December 13, 2003||5–2 || style="text-align:left;"| @ Tampa Bay Lightning (2003–04) ||14–13–3–1||32 ||

|32||December 16, 2003||1–1 OT|| style="text-align:left;"| Boston Bruins (2003–04) ||14–13–4–1||33 ||

|33||December 18, 2003||5–4 OT|| style="text-align:left;"| Nashville Predators (2003–04) ||15–13–4–1||35 ||

|34||December 20, 2003||2–4 || style="text-align:left;"| @ Toronto Maple Leafs (2003–04) ||15–14–4–1||35 ||

|35||December 22, 2003||4–1 || style="text-align:left;"| Pittsburgh Penguins (2003–04) ||16–14–4–1||37 ||

|36||December 23, 2003||2–3 || style="text-align:left;"| @ Washington Capitals (2003–04) ||16–15–4–1||37 ||

|37||December 27, 2003||1–2 OT|| style="text-align:left;"| @ Carolina Hurricanes (2003–04) ||16–15–4–2||38 ||

|38||December 29, 2003||2–1 || style="text-align:left;"| @ Atlanta Thrashers (2003–04) ||17–15–4–2||40 ||

|39||December 31, 2003||1–1 OT|| style="text-align:left;"| @ Dallas Stars (2003–04) ||17–15–5–2||41 ||

|40||January 3, 2004||5–1 || style="text-align:left;"| Atlanta Thrashers (2003–04) ||18–15–5–2||43 ||

|41||January 4, 2004||4–1 || style="text-align:left;"| Washington Capitals (2003–04) ||19–15–5–2||45 ||

|42||January 6, 2004||3–1 || style="text-align:left;"| Buffalo Sabres (2003–04) ||20–15–5–2||47 ||

|43||January 8, 2004||1–4 || style="text-align:left;"| Tampa Bay Lightning (2003–04) ||20–16–5–2||47 ||

|44||January 10, 2004||8–0 || style="text-align:left;"| @ Pittsburgh Penguins (2003–04) ||21–16–5–2||49 ||

|45||January 13, 2004||5–2 || style="text-align:left;"| St. Louis Blues (2003–04) ||22–16–5–2||51 ||

|46||January 14, 2004||2–1 || style="text-align:left;"| @ Atlanta Thrashers (2003–04) ||23–16–5–2||53 ||

|47||January 17, 2004||2–2 OT|| style="text-align:left;"| New York Rangers (2003–04) ||23–16–6–2||54 ||

|48||January 20, 2004||4–1 || style="text-align:left;"| @ Philadelphia Flyers (2003–04) ||24–16–6–2||56 ||

|49||January 23, 2004||0–2 || style="text-align:left;"| @ New Jersey Devils (2003–04) ||24–17–6–2||56 ||

|50||January 24, 2004||1–4 || style="text-align:left;"| Toronto Maple Leafs (2003–04) ||24–18–6–2||56 ||

|51||January 27, 2004||1–4 || style="text-align:left;"| @ Buffalo Sabres (2003–04) ||24–19–6–2||56 ||

|52||January 29, 2004||3–2 OT|| style="text-align:left;"| @ Minnesota Wild (2003–04) ||25–19–6–2||58 ||

|53||January 31, 2004||0–1 || style="text-align:left;"| Boston Bruins (2003–04) ||25–20–6–2||58 ||

|54||February 1, 2004||6–4 || style="text-align:left;"| Chicago Blackhawks (2003–04) ||26–20–6–2||60 ||

|55||February 3, 2004||4–3 || style="text-align:left;"| @ Pittsburgh Penguins (2003–04) ||27–20–6–2||62 ||

|56||February 5, 2004||2–1 || style="text-align:left;"| New York Islanders (2003–04) ||28–20–6–2||64 ||

|57||February 10, 2004||1–2 || style="text-align:left;"| @ Florida Panthers (2003–04) ||28–21–6–2||64 ||

|58||February 12, 2004||3–5 || style="text-align:left;"| @ Tampa Bay Lightning (2003–04) ||28–22–6–2||64 ||

|59||February 14, 2004||2–5 || style="text-align:left;"| @ Ottawa Senators (2003–04) ||28–23–6–2||64 ||

|60||February 17, 2004||1–4 || style="text-align:left;"| Atlanta Thrashers (2003–04) ||28–24–6–2||64 ||

|61||February 19, 2004||4–1 || style="text-align:left;"| Calgary Flames (2003–04) ||29–24–6–2||66 ||

|62||February 21, 2004||4–5 || style="text-align:left;"| @ Toronto Maple Leafs (2003–04) ||29–25–6–2||66 ||

|63||February 23, 2004||4–1 || style="text-align:left;"| @ New York Rangers (2003–04) ||30–25–6–2||68 ||

|64||February 24, 2004||4–2 || style="text-align:left;"| Ottawa Senators (2003–04) ||31–25–6–2||70 ||

|65||February 26, 2004||3–2 OT|| style="text-align:left;"| @ Boston Bruins (2003–04) ||32–25–6–2||72 ||

|66||February 28, 2004||1–0 OT|| style="text-align:left;"| Carolina Hurricanes (2003–04) ||33–25–6–2||74 ||

|67||March 1, 2004||2–1 || style="text-align:left;"| New Jersey Devils (2003–04) ||34–25–6–2||76 ||

|68||March 3, 2004||3–4 || style="text-align:left;"| @ San Jose Sharks (2003–04) ||34–26–6–2||76 ||

|69||March 5, 2004||4–3 || style="text-align:left;"| @ Phoenix Coyotes (2003–04) ||35–26–6–2||78 ||

|70||March 6, 2004||4–2 || style="text-align:left;"| @ Los Angeles Kings (2003–04) ||36–26–6–2||80 ||

|71||March 8, 2004||5–2 || style="text-align:left;"| @ Mighty Ducks of Anaheim (2003–04) ||37–26–6–2||82 ||

|72||March 11, 2004||2–3 OT|| style="text-align:left;"| Florida Panthers (2003–04) ||37–26–6–3||83 ||

|73||March 13, 2004||4–3 || style="text-align:left;"| Toronto Maple Leafs (2003–04) ||38–26–6–3||85 ||

|74||March 16, 2004||4–2 || style="text-align:left;"| Colorado Avalanche (2003–04) ||39–26–6–3||87 ||

|75||March 19, 2004||1–1 OT|| style="text-align:left;"| @ New Jersey Devils (2003–04) ||39–26–7–3||88 ||

|76||March 20, 2004||3–2 || style="text-align:left;"| New Jersey Devils (2003–04) ||40–26–7–3||90 ||

|77||March 24, 2004||1–2 || style="text-align:left;"| @ Buffalo Sabres (2003–04) ||40–27–7–3||90 ||

|78||March 25, 2004||0–4 || style="text-align:left;"| Ottawa Senators (2003–04) ||40–28–7–3||90 ||

|79||March 27, 2004||2–3 OT|| style="text-align:left;"| @ Boston Bruins (2003–04) ||40–28–7–4||91 ||

|80||March 31, 2004||1–5 || style="text-align:left;"| @ New York Islanders (2003–04) ||40–29–7–4||91 ||

|81||April 1, 2004||0–2 || style="text-align:left;"| Philadelphia Flyers (2003–04) ||40–30–7–4||91 ||

|82||April 3, 2004||6–3 || style="text-align:left;"| Buffalo Sabres (2003–04) ||41–30–7–4||93 ||

Legend:

Playoffs

| 1 || April 7 || Montreal || 3–0 || Boston || || Raycroft || 17,565 || Boston leads 1–0 ||

| 2 || April 9 || Montreal || 2–1 || Boston || OT || Raycroft || 17,565 || Boston leads 2–0 ||

| 3 || April 11 || Boston || 2–3 || Montreal || || Theodore || 21,273 || Boston leads 2–1 ||

| 4 || April 13 || Boston || 3–4 || Montreal || OT || Raycroft || 21,273 || Boston leads 3–1 ||

| 5 || April 15 || Montreal || 5–1 || Boston || || Theodore || 17,565 || Boston leads 3–2 ||

| 6 || April 17 || Boston || 2–5 || Montreal || || Theodore || 21,273 || Series tied 3–3 ||

| 7 || April 19 || Montreal || 2–0 || Boston || || Theodore || 17,565 || Montreal wins 4–3 ||

| 1 || April 23 || Montreal || 0–4 || Tampa Bay || || Theodore || 18,904 || Tampa Bay leads 1–0 ||

| 2 || April 25 || Montreal || 1–3 || Tampa Bay || || Theodore || 19,435 || Tampa Bay leads 2–0 ||

| 3 || April 27 || Tampa Bay || 3–2 || Montreal || OT || Theodore || 21,273 || Tampa Bay leads 3–0 ||

| 4 || April 29 || Tampa Bay || 3–1 || Montreal || || Theodore || 21,273 || Tampa Bay wins 4–0 ||

Legend:

Player statistics

Scoring Position abbreviations: C = Centre; D = Defence; G = Goaltender; LW = Left wing; RW = Right wing = Joined team via a transaction (e.g., trade, waivers, signing) during the season. Stats reflect time with the Canadiens only. = Left team via a transaction (e.g., trade, waivers, release) during the season. Stats reflect time with the Canadiens only.