La Liga de Campeones de la UEFA 2003-04 fue la 49.ª edición en la historia de la competición. Se disputó entre julio de 2003 y mayo de 2004, con la participación inicial de 72 equipos, representantes de 48 federaciones nacionales diferentes.
A partir de esta edición se suprimió la segunda fase de grupos, sustituyéndose por una eliminatoria de octavos de final.
La final, a partido único, tuvo lugar el 26 de mayo de 2004 en el Arena AufSchalke de Gelsenkirchen, en Alemania, y en ella se enfrentaron el Porto y el Mónaco, con victoria de los primeros por 3-0 logrando su segundo título . El favorito era el Mónaco, que había eliminado a equipos como el Real Madrid y el Chelsea. Pero el Porto se mostró más sólido y mentalizado y resolvió el encuentro con facilidad. La estrella del cuadro monegasco Ludovic Giuly tuvo que retirarse lesionado pocos minutos después de haber comenzado el encuentro.
En esta edición del campeonato, destaca la eliminatoria del Deportivo de A Coruña y el Milan, vigente campeón. El primer partido se jugó en Italia, con un marcador 4-1 a favor del Milan; sin embargo, el Deportivo de A Coruña lograría una remontada histórica al ganar 4-0 en Riazor. Este partido está considerado el tercer mejor partido de la historia del campeonato, por el diario The Guardian.
Rondas previas de clasificación
Primera ronda El sorteo se realizó el 20 de junio del 2003 en la sede de la UEFA en Nyon.
Los duelos se desarrollaron el 16 y 23 de julio del 2003. Equipo Local IdaResultadoEquipo Visitante IdaIdaVueltaAC Omonia 2:1 Irtysh 0:02:1HB Tórshavn 1:5 FBK Kaunas 0:11:4Glentoran 0:1 HJK Helsinki 0:00:1Sheriff Tiraspol 2:1 Flora Tallinn 1:01:1BATE Borisov 1:3 Bohemian 1:00:3Pyunik 2:1 KR Reykjavík 1:01:1Sliema Wanderers (v) 3:3 Skonto 2:01:3Vardar 4:2 Barry Town 3:01:2Dinamo Tbilisi 3:3 (2-4 p.) KF Tirana 3:00:3CS Grevenmacher 0:2 FK Leotar Trebinje 0:00:2
Segunda ronda El sorteo se realizó el 20 de junio del 2003 en la sede de la UEFA en Nyon.
Los duelos se desarrollaron el 30 de julio y 6 de agosto del 2003. Equipo Local IdaResultadoEquipo Visitante IdaIdaVueltaRapid Bucarest 2:3 Anderlecht 0:02:3Wisła Cracovia 7:4 AC Omonia 5:22:2FBK Kaunas 0:5 Celtic 0:40:1MTK Hungária 3:2 HJK Helsinki 3:10:1Maribor 2:3 Dinamo Zagreb 1:11:2Sheriff Tiraspol 0:2 Shakhtar Donetsk 0:00:2Bohemian 0:5 Rosenborg 0:10:4Pyunik 0:3 CSKA Sofia 0:20:1Copenhague 10:1 Sliema Wanderers 4:16:0Partizan Belgrado (v) 3:3 Djurgårdens IF 1:12:2CSKA Moscú 2:3 Vardar 1:21:1MŠK Žilina 2:1 Maccabi Tel Aviv 1:01:1KF Tirana 2:7 Grazer AK 1:51:2FK Leotar Trebinje 1:4 Slavia Praga 1:20:2
Tercera ronda El sorteo se realizó el 25 de julio del 2003 en la sede de la UEFA en Nyon.
Los duelos se desarrollaron el 12, 13, 26 y 27 de agosto del 2003. Equipo Local IdaResultadoEquipo Visitante IdaIdaVueltaAnderlecht 20px 4:1 Wisła Cracovia 3:11:0MTK Hungária 0:5 Celtic 0:40:1Dinamo Kiev 5:1 Dinamo Zagreb 3:12:0Shakhtar Donetsk 2:3 Lokomotiv Moscú 1:01:3Grasshopper 2:3 AEK Atenas 1:01:3Rosenborg 0:1 Deportivo de La Coruña 0:00:1Galatasaray 6:0 CSKA Sofia 3:03:0Rangers 3:2 Copenhague 1:12:1Austria Viena 0:1 Olympique de Marsella 0:10:0Partizan Belgrado (p. 4-3) 1:1 Newcastle United 0:11:0Vardar 4:5 Sparta Praga 2:32:2MŠK Žilina 0:5 Chelsea 0:20:3Lazio 4:1 Benfica 3:11:0Grazer AK 2:3 Ajax Ámsterdam 1:1 1:2 (pró.)Brujas (p. 4-2) 3:3 Borussia Dortmund 2:11:2Celta de Vigo 3:2 Slavia Praga 3:00:2
Fase de grupos Participaron un total de 32 equipos: El campeón de la anterior edición de la Liga de Campeones, el Milan. Los 16 ganadores de los enfrentamientos de la tercera ronda de la fase previa. 9 equipos campeones de ligas situadas entre las posiciones 1 y 9 del Coeficiente UEFA. 6 equipos clasificados en segunda posición en ligas situadas entre los puestos 1 y 6 del Coeficiente UEFA. Los 32 equipos fueron encuadrados, por sorteo, en 8 grupos diferentes de 4 equipos cada uno. Todos los equipos de cada grupo se enfrentaron entre ellos compitiendo en formato de liguilla, con partidos de ida y vuelta. Cada equipo sumó 3 puntos por victoria, 1 por empate y ninguno por derrota. Los dos primeros clasificados de cada grupo se clasificaron para disputar los octavos de final de la Liga de Campeones. Los terceros clasificados, eliminados de la Liga de Campeones, fueron invitados a participar en la tercera ronda de la Copa de la UEFA. El sorteo se realizó el 28 de agosto del 2003 en Monaco.
Grupo A
Jor.FechaEstadioLocalResultadoVisitante1 17 de septiembre Stade Gerland Olympique de Lyon 1:0 || Anderlecht |-bgcolor=#D0E7FF |1 ||17 de septiembre|| Estadio Olímpico de Múnich || Bayern Múnich || align=center| 2:1 Celtic2 30 de septiembre Constant Vanden Stock Anderlecht 1:1 || Bayern Múnich |-bgcolor=#D0E7FF |2 ||30 de septiembre|| Celtic Park ||Celtic || align=center| 2:0 Olympique de Lyon3 21 de octubre Stade GerlandOlympique de Lyon 1:1 || Bayern Múnich |-bgcolor=#D0E7FF |3 ||21 de octubre||Constant Vanden Stock|| Anderlecht || align=center| 1:0 Celtic4 5 de noviembre Estadio Olímpico de Múnich Bayern Múnich 1:2 || Olympique de Lyon |-bgcolor=#D0E7FF |4 ||5 de noviembre||Celtic Park || Celtic || align=center| 3:1 Anderlecht5 25 de noviembre Constant Vanden Stock Anderlecht 1:0 || Olympique de Lyon |-bgcolor=#D0E7FF |5 ||25 de noviembre||Celtic Park || Celtic || align=center| 0:0 Bayern Múnich6 10 de diciembre Stade Gerland Olympique de Lyon 3:2 || Celtic |-bgcolor=#D0E7FF |6 ||10 de diciembre||Estadio Olímpico de Múnich || Bayern Múnich || align=center| 1:0 Anderlecht
Grupo B
Jor.FechaEstadioLocalResultadoVisitante1 17 de septiembre Lobanovsky Stadium Dinamo Kiev 2:0 || Lokomotiv Moscú |-bgcolor=#D0E7FF |1 ||17 de septiembre|| Highbury || Arsenal || align=center| 0:3 Internazionale2 30 de septiembre Estadio Lokomotiv Lokomotiv Moscú 0:0 || Arsenal |-bgcolor=#D0E7FF |2 ||30 de septiembre|| Stadio Giuseppe Meazza || Internazionale || align=center| 2:1 Dinamo Kiev3 21 de octubre Lobanovsky Stadium Dinamo Kiev 2:1 || Arsenal |-bgcolor=#D0E7FF |3 ||21 de octubre||Estadio Lokomotiv || Lokomotiv Moscú || align=center| 3:0 Internazionale4 5 de noviembre Highbury Arsenal 1:0 || Dinamo Kiev |-bgcolor=#D0E7FF |4 ||5 de noviembre||Stadio Giuseppe Meazza || Internazionale || align=center| 1:1 Lokomotiv Moscú5 25 de noviembre Estadio Lokomotiv Lokomotiv Moscú 3:2 || Dinamo Kiev |-bgcolor=#D0E7FF |5 ||25 de noviembre||Stadio Giuseppe Meazza || Internazionale || align=center| 1:5 Arsenal6 10 de diciembre Lobanovsky Stadium Dinamo Kiev 1:1 || Internazionale |-bgcolor=#D0E7FF |6 ||10 de diciembre||Highbury || Arsenal || align=center| 2:0 Lokomotiv Moscú
Grupo C
Jor.FechaEstadioLocalResultadoVisitante1 17 de septiembre Apostolos Nikolaidis AEK Atenas 1:1 || Deportivo de La Coruña |-bgcolor=#D0E7FF |1 ||17 de septiembre|| Philips Stadion || PSV Eindhoven || align=center| 1:2 Mónaco2 30 de septiembre Riazor Deportivo de La Coruña 2:0 || PSV Eindhoven |-bgcolor=#D0E7FF |2 ||30 de septiembre|| Stade Louis II || Mónaco || align=center| 4:0 AEK Atenas3 21 de octubre Apostolos Nikolaidis AEK Atenas 0:1 || PSV Eindhoven |-bgcolor=#D0E7FF |3 ||21 de octubre||Riazor|| Deportivo de La Coruña|| align=center| 1:0 Mónaco4 5 de noviembre Philips Stadion PSV Eindhoven 2:0 || AEK Atenas |-bgcolor=#D0E7FF |4 ||5 de noviembre||Stade Louis II || Mónaco || align=center| 8:3 Deportivo de La Coruña5 25 de noviembre Riazor Deportivo de La Coruña 3:0 || AEK Atenas |-bgcolor=#D0E7FF |5 ||25 de noviembre||Stade Louis II || Mónaco || align=center| 1:1 PSV Eindhoven6 10 de diciembre Apostolos Nikolaidis AEK Atenas 0:0 || Mónaco |-bgcolor=#D0E7FF |6 ||10 de diciembre||Philips Stadion || PSV Eindhoven || align=center| 3:2 Deportivo de La Coruña
Grupo D
Jor.FechaEstadioLocalResultadoVisitante1 17 de septiembre Stadio delle Alpi Juventus 2:1 || Galatasaray |-bgcolor=#D0E7FF |1 ||17 de septiembre|| Anoeta || Real Sociedad || align=center| 1:0 Olympiacos2 30 de septiembre Estadio Olímpico AtatürkEl Galatasaray disputó sus encuentros como local en el Olímpico Atatürk, en lugar de su estadio habitual, el Ali Sami Yen, para poder acoger un mayor número de aficionados. Galatasaray 1:2 || Real Sociedad |-bgcolor=#D0E7FF |2 ||30 de septiembre|| Georgios KamarasEl Olympiacos disputó sus encuentros como local en el Estadio Georgios Kamaras, debido a las obras de reforma de su estadio habitual, el Georgios Karaiskakis. || Olympiacos || align=center| 1:2 Juventus3 21 de octubre Stadio delle Alpi Juventus 4:2 || Real Sociedad |-bgcolor=#D0E7FF |3 ||21 de octubre||Estadio Olímpico Atatürk || Galatasaray || align=center| 1:0 Olympiacos4 5 de noviembre Anoeta Real Sociedad 0:0 || Juventus |-bgcolor=#D0E7FF |4 ||5 de noviembre||Georgios Kamaras || Olympiacos || align=center| 3:0 Galatasaray5 2 de diciembreEl encuentro entre Galatasaray y Juventus se aplazó una semana como medida de seguridad tras una reciente ola de atentados terroristas registrada en Estambul. WestfalenstadionEl encuentro entre Galatasaray y Juventus se disputó en el Westfalenstadion de Dortmund como medida de seguridad. Galatasaray 2:0 || Juventus |-bgcolor=#D0E7FF |5 || 25 de noviembre ||Georgios Kamaras || Olympiacos || align=center| 2:2 Real Sociedad6 10 de diciembre Stadio delle Alpi Juventus 7:0 || Olympiacos |-bgcolor=#D0E7FF |6 ||10 de diciembre||Anoeta|| Real Sociedad || align=center| 1:1 Galatasaray
Grupo E
Jor.FechaEstadioLocalResultadoVisitante1 16 de septiembre Ibrox Stadium Rangers 2:1 || VfB Stuttgart |-bgcolor=#D0E7FF |1 ||16 de septiembre|| Old Trafford || Manchester United || align=center| 5:0 Panathinaikos2 1 de octubre Gottlieb-Daimler-Stadion VfB Stuttgart 2:1 || Manchester United |-bgcolor=#D0E7FF |2 ||1 de octubre|| Apostolos Nikolaidis || Panathinaikos || align=center| 1:1 Rangers3 22 de octubre Ibrox Stadium Rangers 0:1 || Manchester United |-bgcolor=#D0E7FF |3 ||22 de octubre||Gottlieb-Daimler-Stadion|| VfB Stuttgart || align=center| 2:0 Panathinaikos4 4 de noviembre Old Trafford Manchester United 3:0 || Rangers |-bgcolor=#D0E7FF |4 ||4 de noviembre||Apostolos Nikolaidis|| Panathinaikos || align=center| 1:3 VfB Stuttgart5 26 de noviembre Gottlieb-Daimler-Stadion VfB Stuttgart 1:0 || Rangers |-bgcolor=#D0E7FF |5 ||26 de noviembre||Apostolos Nikolaidis|| Panathinaikos || align=center| 0:1 Manchester United6 9 de diciembre Ibrox Stadium Rangers 1:3 || Panathinaikos |-bgcolor=#D0E7FF |6 ||9 de diciembre||Old Trafford|| Manchester United || align=center| 2:0 VfB Stuttgart
Grupo F
Jor.FechaEstadioLocalResultadoVisitante1 16 de septiembre Santiago Bernabéu Real Madrid 4:2 || Olympique de Marsella |-bgcolor=#D0E7FF |1 ||16 de septiembre|| Estadio Partizan || Partizán || align=center| 1:1 Porto2 1 de octubre Stade Vélodrome Olympique de Marsella 3:0 || Partizán |-bgcolor=#D0E7FF |2 ||1 de octubre|| Das Antas || Porto || align=center| 1:3 Real Madrid3 22 de octubre Santiago Bernabéu Real Madrid 1:0 || Partizán |-bgcolor=#D0E7FF |3 ||22 de octubre||Stade Vélodrome|| Olympique de Marsella || align=center| 2:3 Porto4 4 de noviembre Estadio Partizan Partizán 0:0 || Real Madrid |-bgcolor=#D0E7FF |4 ||4 de noviembre||Das Antas|| Porto || align=center| 1:0 Olympique de Marsella5 26 de noviembre Stade Vélodrome Olympique de Marsella 1:2 || Real Madrid |-bgcolor=#D0E7FF |5 ||26 de noviembre||Das Antas|| Porto || align=center| 2:1 Partizán6 9 de diciembre Santiago Bernabéu Real Madrid 1:1 || Porto |-bgcolor=#D0E7FF |6 ||9 de diciembre||Estadio Partizan|| Partizán || align=center| 1:1 Olympique de Marsella
Grupo G
Jor.FechaEstadioLocalResultadoVisitante1 16 de septiembre Letná Stadium Sparta Praga 0:1 || Chelsea |-bgcolor=#D0E7FF |1 ||16 de septiembre|| BJK İnönü || Beşiktaş || align=center| 0:2 Lazio2 1 de octubre Stamford Bridge Chelsea 0:2 || Beşiktaş |-bgcolor=#D0E7FF |2 ||1 de octubre|| Estadio Olímpico de Roma || Lazio || align=center| 2:2 Sparta Praga3 22 de octubre Letná Stadium Sparta Praga 2:1 || Beşiktaş |-bgcolor=#D0E7FF