# Liga de Campeones de la UEFA 2003-04

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 La 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 La 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 Ida | Resultado | Equipo Visitante Ida | Ida | Vuelta |
| AC Omonia | 2:1 | Irtysh | 0:0 | 2:1 |
| HB Tórshavn | 1:5 | FBK Kaunas | 0:1 | 1:4 |
| Glentoran | 0:1 | HJK Helsinki | 0:0 | 0:1 |
| Sheriff Tiraspol | 2:1 | Flora Tallinn | 1:0 | 1:1 |
| BATE Borisov | 1:3 | Bohemian | 1:0 | 0:3 |
| Pyunik | 2:1 | KR Reykjavík | 1:0 | 1:1 |
| Sliema Wanderers | (v) 3:3 | Skonto | 2:0 | 1:3 |
| Vardar | 4:2 | Barry Town | 3:0 | 1:2 |
| Dinamo Tbilisi | 3:3 (2-4 p.) | KF Tirana | 3:0 | 0:3 |
| CS Grevenmacher | 0:2 | FK Leotar Trebinje | 0:0 | 0: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 Ida | Resultado | Equipo Visitante Ida | Ida | Vuelta |
| Rapid Bucarest | 2:3 | Anderlecht | 0:0 | 2:3 |
| Wisła Cracovia | 7:4 | AC Omonia | 5:2 | 2:2 |
| FBK Kaunas | 0:5 | Celtic | 0:4 | 0:1 |
| MTK Hungária | 3:2 | HJK Helsinki | 3:1 | 0:1 |
| Maribor | 2:3 | Dinamo Zagreb | 1:1 | 1:2 |
| Sheriff Tiraspol | 0:2 | Shakhtar Donetsk | 0:0 | 0:2 |
| Bohemian | 0:5 | Rosenborg | 0:1 | 0:4 |
| Pyunik | 0:3 | CSKA Sofia | 0:2 | 0:1 |
| Copenhague | 10:1 | Sliema Wanderers | 4:1 | 6:0 |
| Partizan Belgrado | (v) 3:3 | Djurgårdens IF | 1:1 | 2:2 |
| CSKA Moscú | 2:3 | Vardar | 1:2 | 1:1 |
| MŠK Žilina | 2:1 | Maccabi Tel Aviv | 1:0 | 1:1 |
| KF Tirana | 2:7 | Grazer AK | 1:5 | 1:2 |
| FK Leotar Trebinje | 1:4 | Slavia Praga | 1:2 | 0: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 Ida | Resultado | Equipo Visitante Ida | Ida | Vuelta |
| Anderlecht | 4:1 | Wisła Cracovia | 3:1 | 1:0 |
| MTK Hungária | 0:5 | Celtic | 0:4 | 0:1 |
| Dinamo Kiev | 5:1 | Dinamo Zagreb | 3:1 | 2:0 |
| Shakhtar Donetsk | 2:3 | Lokomotiv Moscú | 1:0 | 1:3 |
| Grasshopper | 2:3 | AEK Atenas | 1:0 | 1:3 |
| Rosenborg | 0:1 | Deportivo de La Coruña | 0:0 | 0:1 |
| Galatasaray | 6:0 | CSKA Sofia | 3:0 | 3:0 |
| Rangers | 3:2 | Copenhague | 1:1 | 2:1 |
| Austria Viena | 0:1 | Olympique de Marsella | 0:1 | 0:0 |
| Partizan Belgrado | (p. 4-3) 1:1 | Newcastle United | 0:1 | 1:0 |
| Vardar | 4:5 | Sparta Praga | 2:3 | 2:2 |
| MŠK Žilina | 0:5 | Chelsea | 0:2 | 0:3 |
| Lazio | 4:1 | Benfica | 3:1 | 1:0 |
| Grazer AK | 2:3 | Ajax Ámsterdam | 1:1 | 1:2 (pró.) |
| Brujas | (p. 4-2) 3:3 | Borussia Dortmund | 2:1 | 1:2 |
| Celta de Vigo | 3:2 | Slavia Praga | 3:0 | 0: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

| Pos. | Equipo | Pts. | PJ | G | E | P | GF | GC | Dif. | Clasificación |
| 1 | Olympique de Lyon | 10 | 6 | 3 | 1 | 2 | 7 | 7 | 0 | Acceso a octavos de final |
| 2 | Bayern | 9 | 6 | 2 | 3 | 1 | 6 | 5 | +1 | Acceso a octavos de final |
| 3 | Celtic | 7 | 6 | 2 | 1 | 3 | 8 | 7 | +1 | Acceso a Copa de la UEFA |
| 4 | Anderlecht | 7 | 6 | 2 | 1 | 3 | 4 | 6 | −2 | |
Fuente:
| Jor. | Fecha | Estadio | Local | Resultado | Visitante |
| 1 | 17 de septiembre | Stade Gerland | Olympique de Lyon | 1:0 | Anderlecht |
| 1 | 17 de septiembre | Estadio Olímpico de Múnich | Bayern Múnich | 2:1 | Celtic |
| 2 | 30 de septiembre | Constant Vanden Stock | Anderlecht | 1:1 | Bayern Múnich |
| 2 | 30 de septiembre | Celtic Park | Celtic | 2:0 | Olympique de Lyon |
| 3 | 21 de octubre | Stade Gerland | Olympique de Lyon | 1:1 | Bayern Múnich |
| 3 | 21 de octubre | Constant Vanden Stock | Anderlecht | 1:0 | Celtic |
| 4 | 5 de noviembre | Estadio Olímpico de Múnich | Bayern Múnich | 1:2 | Olympique de Lyon |
| 4 | 5 de noviembre | Celtic Park | Celtic | 3:1 | Anderlecht |
| 5 | 25 de noviembre | Constant Vanden Stock | Anderlecht | 1:0 | Olympique de Lyon |
| 5 | 25 de noviembre | Celtic Park | Celtic | 0:0 | Bayern Múnich |
| 6 | 10 de diciembre | Stade Gerland | Olympique de Lyon | 3:2 | Celtic |
| 6 | 10 de diciembre | Estadio Olímpico de Múnich | Bayern Múnich | 1:0 | Anderlecht |

### Grupo B

| Pos. | Equipo | Pts. | PJ | G | E | P | GF | GC | Dif. | Clasificación |
| 1 | Arsenal | 10 | 6 | 3 | 1 | 2 | 9 | 6 | +3 | Acceso a octavos de final |
| 2 | Lokomotiv Moscú | 8 | 6 | 2 | 2 | 2 | 7 | 7 | 0 | Acceso a octavos de final |
| 3 | Inter de Milán | 8 | 6 | 2 | 2 | 2 | 8 | 11 | −3 | Acceso a Copa de la UEFA |
| 4 | Dinamo de Kiev | 7 | 6 | 2 | 1 | 3 | 8 | 8 | 0 | |
Fuente:
| Jor. | Fecha | Estadio | Local | Resultado | Visitante |
| 1 | 17 de septiembre | Lobanovsky Stadium | Dinamo Kiev | 2:0 | Lokomotiv Moscú |
| 1 | 17 de septiembre | Highbury | Arsenal | 0:3 | Internazionale |
| 2 | 30 de septiembre | Estadio Lokomotiv | Lokomotiv Moscú | 0:0 | Arsenal |
| 2 | 30 de septiembre | Stadio Giuseppe Meazza | Internazionale | 2:1 | Dinamo Kiev |
| 3 | 21 de octubre | Lobanovsky Stadium | Dinamo Kiev | 2:1 | Arsenal |
| 3 | 21 de octubre | Estadio Lokomotiv | Lokomotiv Moscú | 3:0 | Internazionale |
| 4 | 5 de noviembre | Highbury | Arsenal | 1:0 | Dinamo Kiev |
| 4 | 5 de noviembre | Stadio Giuseppe Meazza | Internazionale | 1:1 | Lokomotiv Moscú |
| 5 | 25 de noviembre | Estadio Lokomotiv | Lokomotiv Moscú | 3:2 | Dinamo Kiev |
| 5 | 25 de noviembre | Stadio Giuseppe Meazza | Internazionale | 1:5 | Arsenal |
| 6 | 10 de diciembre | Lobanovsky Stadium | Dinamo Kiev | 1:1 | Internazionale |
| 6 | 10 de diciembre | Highbury | Arsenal | 2:0 | Lokomotiv Moscú |

### Grupo C

| Pos. | Equipo | Pts. | PJ | G | E | P | GF | GC | Dif. | Clasificación |
| 1 | Monaco | 11 | 6 | 3 | 2 | 1 | 15 | 6 | +9 | Acceso a octavos de final |
| 2 | Deportivo | 10 | 6 | 3 | 1 | 2 | 12 | 12 | 0 | Acceso a octavos de final |
| 3 | PSV | 10 | 6 | 3 | 1 | 2 | 8 | 7 | +1 | Acceso a Copa de la UEFA |
| 4 | AEK Atenas | 2 | 6 | 0 | 2 | 4 | 1 | 11 | −10 | |
Fuente:
| Jor. | Fecha | Estadio | Local | Resultado | Visitante |
| 1 | 17 de septiembre | Apostolos Nikolaidis | AEK Atenas | 1:1 | Deportivo de La Coruña |
| 1 | 17 de septiembre | Philips Stadion | PSV Eindhoven | 1:2 | Mónaco |
| 2 | 30 de septiembre | Riazor | Deportivo de La Coruña | 2:0 | PSV Eindhoven |
| 2 | 30 de septiembre | Stade Louis II | Mónaco | 4:0 | AEK Atenas |
| 3 | 21 de octubre | Apostolos Nikolaidis | AEK Atenas | 0:1 | PSV Eindhoven |
| 3 | 21 de octubre | Riazor | Deportivo de La Coruña | 1:0 | Mónaco |
| 4 | 5 de noviembre | Philips Stadion | PSV Eindhoven | 2:0 | AEK Atenas |
| 4 | 5 de noviembre | Stade Louis II | Mónaco | 8:3 | Deportivo de La Coruña |
| 5 | 25 de noviembre | Riazor | Deportivo de La Coruña | 3:0 | AEK Atenas |
| 5 | 25 de noviembre | Stade Louis II | Mónaco | 1:1 | PSV Eindhoven |
| 6 | 10 de diciembre | Apostolos Nikolaidis | AEK Atenas | 0:0 | Mónaco |
| 6 | 10 de diciembre | Philips Stadion | PSV Eindhoven | 3:2 | Deportivo de La Coruña |

### Grupo D

| Pos. | Equipo | Pts. | PJ | G | E | P | GF | GC | Dif. | Clasificación |
| 1 | Juventus | 13 | 6 | 4 | 1 | 1 | 15 | 6 | +9 | Acceso a octavos de final |
| 2 | Real Sociedad | 9 | 6 | 2 | 3 | 1 | 8 | 8 | 0 | Acceso a octavos de final |
| 3 | Galatasaray | 7 | 6 | 2 | 1 | 3 | 6 | 8 | −2 | Acceso a Copa de la UEFA |
| 4 | Olympiacos | 4 | 6 | 1 | 1 | 4 | 6 | 13 | −7 | |
Fuente:
| Jor. | Fecha | Estadio | Local | Resultado | Visitante |
| 1 | 17 de septiembre | Stadio delle Alpi | Juventus | 2:1 | Galatasaray |
| 1 | 17 de septiembre | Anoeta | Real Sociedad | 1:0 | Olympiacos |
| 2 | 30 de septiembre | Estadio Olímpico Atatürk | Galatasaray | 1:2 | Real Sociedad |
| 2 | 30 de septiembre | Georgios Kamaras | Olympiacos | 1:2 | Juventus |
| 3 | 21 de octubre | Stadio delle Alpi | Juventus | 4:2 | Real Sociedad |
| 3 | 21 de octubre | Estadio Olímpico Atatürk | Galatasaray | 1:0 | Olympiacos |
| 4 | 5 de noviembre | Anoeta | Real Sociedad | 0:0 | Juventus |
| 4 | 5 de noviembre | Georgios Kamaras | Olympiacos | 3:0 | Galatasaray |
| 5 | 2 de diciembre | Westfalenstadion | Galatasaray | 2:0 | Juventus |
| 5 | 25 de noviembre | Georgios Kamaras | Olympiacos | 2:2 | Real Sociedad |
| 6 | 10 de diciembre | Stadio delle Alpi | Juventus | 7:0 | Olympiacos |
| 6 | 10 de diciembre | Anoeta | Real Sociedad | 1:1 | Galatasaray |

### Grupo E

| Pos. | Equipo | Pts. | PJ | G | E | P | GF | GC | Dif. | Clasificación |
| 1 | Manchester United | 15 | 6 | 5 | 0 | 1 | 13 | 2 | +11 | Acceso a octavos de final |
| 2 | Stuttgart | 12 | 6 | 4 | 0 | 2 | 9 | 6 | +3 | Acceso a octavos de final |
| 3 | Panathinaikos | 4 | 6 | 1 | 1 | 4 | 5 | 13 | −8 | Acceso a Copa de la UEFA |
| 4 | Rangers | 4 | 6 | 1 | 1 | 4 | 4 | 10 | −6 | |
Fuente:
| Jor. | Fecha | Estadio | Local | Resultado | Visitante |
| 1 | 16 de septiembre | Ibrox Stadium | Rangers | 2:1 | VfB Stuttgart |
| 1 | 16 de septiembre | Old Trafford | Manchester United | 5:0 | Panathinaikos |
| 2 | 1 de octubre | Gottlieb-Daimler-Stadion | VfB Stuttgart | 2:1 | Manchester United |
| 2 | 1 de octubre | Apostolos Nikolaidis | Panathinaikos | 1:1 | Rangers |
| 3 | 22 de octubre | Ibrox Stadium | Rangers | 0:1 | Manchester United |
| 3 | 22 de octubre | Gottlieb-Daimler-Stadion | VfB Stuttgart | 2:0 | Panathinaikos |
| 4 | 4 de noviembre | Old Trafford | Manchester United | 3:0 | Rangers |
| 4 | 4 de noviembre | Apostolos Nikolaidis | Panathinaikos | 1:3 | VfB Stuttgart |
| 5 | 26 de noviembre | Gottlieb-Daimler-Stadion | VfB Stuttgart | 1:0 | Rangers |
| 5 | 26 de noviembre | Apostolos Nikolaidis | Panathinaikos | 0:1 | Manchester United |
| 6 | 9 de diciembre | Ibrox Stadium | Rangers | 1:3 | Panathinaikos |
| 6 | 9 de diciembre | Old Trafford | Manchester United | 2:0 | VfB Stuttgart |

### Grupo F

| Pos. | Equipo | Pts. | PJ | G | E | P | GF | GC | Dif. | Clasificación |
| 1 | Real Madrid | 14 | 6 | 4 | 2 | 0 | 11 | 5 | +6 | Acceso a octavos de final |
| 2 | Porto | 11 | 6 | 3 | 2 | 1 | 9 | 8 | +1 | Acceso a octavos de final |
| 3 | Olympique de Marsella | 4 | 6 | 1 | 1 | 4 | 9 | 11 | −2 | Acceso a Copa de la UEFA |
| 4 | Partizán de Belgrado | 3 | 6 | 0 | 3 | 3 | 3 | 8 | −5 | |
Fuente:
| Jor. | Fecha | Estadio | Local | Resultado | Visitante |
| 1 | 16 de septiembre | Santiago Bernabéu | Real Madrid | 4:2 | Olympique de Marsella |
| 1 | 16 de septiembre | Estadio Partizan | Partizan Belgrado | 1:1 | Porto |
| 2 | 1 de octubre | Stade Vélodrome | Olympique de Marsella | 3:0 | Partizan Belgrado |
| 2 | 1 de octubre | Das Antas | Porto | 1:3 | Real Madrid |
| 3 | 22 de octubre | Santiago Bernabéu | Real Madrid | 1:0 | Partizan Belgrado |
| 3 | 22 de octubre | Stade Vélodrome | Olympique de Marsella | 2:3 | Porto |
| 4 | 4 de noviembre | Estadio Partizan | Partizan Belgrado | 0:0 | Real Madrid |
| 4 | 4 de noviembre | Das Antas | Porto | 1:0 | Olympique de Marsella |
| 5 | 26 de noviembre | Stade Vélodrome | Olympique de Marsella | 1:2 | Real Madrid |
| 5 | 26 de noviembre | Das Antas | Porto | 2:1 | Partizan Belgrado |
| 6 | 9 de diciembre | Santiago Bernabéu | Real Madrid | 1:1 | Porto |
| 6 | 9 de diciembre | Estadio Partizan | Partizan Belgrado | 1:1 | Olympique de Marsella |

### Grupo G

| Pos. | Equipo | Pts. | PJ | G | E | P | GF | GC | Dif. | Clasificación |
| 1 | Chelsea | 13 | 6 | 4 | 1 | 1 | 9 | 3 | +6 | Acceso a octavos de final |
| 2 | Sparta Praga | 8 | 6 | 2 | 2 | 2 | 5 | 5 | 0 | Acceso a octavos de final |
| 3 | Beşiktaş | 7 | 6 | 2 | 1 | 3 | 5 | 7 | −2 | Acceso a Copa de la UEFA |
| 4 | Lazio | 5 | 6 | 1 | 2 | 3 | 6 | 10 | −4 | |
Fuente:
| Jor. | Fecha | Estadio | Local | Resultado | Visitante |
| 1 | 16 de septiembre | Letná Stadium | Sparta Praga | 0:1 | Chelsea |
| 1 | 16 de septiembre | BJK İnönü | Beşiktaş | 0:2 | Lazio |
| 2 | 1 de octubre | Stamford Bridge | Chelsea | 0:2 | Beşiktaş |
| 2 | 1 de octubre | Estadio Olímpico de Roma | Lazio | 2:2 | Sparta Praga |
| 3 | 22 de octubre | Letná Stadium | Sparta Praga | 2:1 | Beşiktaş |
| 3 | 22 de octubre | Stamford Bridge | Chelsea | 2:1 | Lazio |
| 4 | 4 de noviembre | BJK İnönü | Beşiktaş | 1:0 | Sparta Praga |
| 4 | 4 de noviembre | Estadio Olímpico de Roma | Lazio | 0:4 | Chelsea |
| 5 | 26 de noviembre | Stamford Bridge | Chelsea | 0:0 | Sparta Praga |
| 5 | 26 de noviembre | Estadio Olímpico de Roma | Lazio | 1:1 | Beşiktaş |
| 6 | 9 de diciembre | Letná Stadium | Sparta Praga | 1:0 | Lazio |
| 6 | 9 de diciembre | Arena AufSchalke | Beşiktaş | 0:2 | Chelsea |

### Grupo H

| Pos. | Equipo | Pts. | PJ | G | E | P | GF | GC | Dif. | Clasificación |
| 1 | Milan | 10 | 6 | 3 | 1 | 2 | 4 | 3 | +1 | Acceso a octavos de final |
| 2 | Celta de Vigo | 9 | 6 | 2 | 3 | 1 | 7 | 6 | +1 | Acceso a octavos de final |
| 3 | Brujas | 8 | 6 | 2 | 2 | 2 | 5 | 6 | −1 | Acceso a Copa de la UEFA |
| 4 | Ajax | 6 | 6 | 2 | 0 | 4 | 6 | 7 | −1 | |
Fuente:
| Jor. | Fecha | Estadio | Local | Resultado | Visitante |
| 1 | 16 de septiembre | San Siro | Milan | 1:0 | Ajax Ámsterdam |
| 1 | 16 de septiembre | Jan Breydelstadion | Brujas | 1:1 | Celta de Vigo |
| 2 | 1 de octubre | Ámsterdam Arena | Ajax Ámsterdam | 2:0 | Brujas |
| 2 | 1 de octubre | Estadio de Balaídos | Celta de Vigo | 0:0 | Milan |
| 3 | 22 de octubre | San Siro | Milan | 0:1 | Brujas |
| 3 | 22 de octubre | Ámsterdam Arena | Ajax Ámsterdam | 1:0 | Celta de Vigo |
| 4 | 4 de noviembre | Jan Breydelstadion | Brujas | 0:1 | Milan |
| 4 | 4 de noviembre | Balaídos | Celta de Vigo | 3:2 | Ajax Ámsterdam |
| 5 | 26 de noviembre | Ámsterdam Arena | Ajax Ámsterdam | 0:1 | Milan |
| 5 | 26 de noviembre | Estadio de Balaídos | Celta de Vigo | 1:1 | Brujas |
| 6 | 9 de diciembre | San Siro | Milan | 1:2 | Celta de Vigo |
| 6 | 9 de diciembre | Jan Breydelstadion | Brujas | 2:1 | Ajax Ámsterdam |

## Fase eliminatoria

Los 16 equipos clasificados disputaron una serie de eliminatorias a ida y vuelta, hasta decidir los dos equipos clasificados para la final de Gelsenkirchen. En la tabla se muestran todos los cruces de la segunda fase. El primer equipo de cada eliminatoria jugó como local el partido de ida, y el segundo jugó en su campo la vuelta. En los resultados se indica el marcador en la ida, seguido del de la vuelta. La eliminatoria de octavos de final enfrentó a cada campeón de grupo con un segundo clasificado de un grupo distinto al suyo, con la ventaja de jugar el partido de vuelta como local, y con la restricción de no poder cruzarse dos conjuntos del mismo país. El sorteo de octavos se realizó el 12 de diciembre del 2003 en la sede de la UEFA en Nyon. El resto de eliminatorias se sortearon sin restricción alguna el 12 de marzo del 2004 en el mismo escenario.

### Eliminatorias

| Octavos de final | Octavos de final | Octavos de final | Octavos de final | Octavos de final | Cuartos de final | Cuartos de final | Cuartos de final | Cuartos de final | Cuartos de final | Semifinales | Semifinales | Semifinales | Semifinales | Semifinales | | Final | Final | Final | |
| 24 y 25 de febrero de 2004 (ida) 9 y 10 de marzo de 2004 (vuelta) | 24 y 25 de febrero de 2004 (ida) 9 y 10 de marzo de 2004 (vuelta) | 24 y 25 de febrero de 2004 (ida) 9 y 10 de marzo de 2004 (vuelta) | 24 y 25 de febrero de 2004 (ida) 9 y 10 de marzo de 2004 (vuelta) | 24 y 25 de febrero de 2004 (ida) 9 y 10 de marzo de 2004 (vuelta) | 23 y 24 de marzo de 2004 (ida) 6 y 7 de abril de 2004 (vuelta) | 23 y 24 de marzo de 2004 (ida) 6 y 7 de abril de 2004 (vuelta) | 23 y 24 de marzo de 2004 (ida) 6 y 7 de abril de 2004 (vuelta) | 23 y 24 de marzo de 2004 (ida) 6 y 7 de abril de 2004 (vuelta) | 23 y 24 de marzo de 2004 (ida) 6 y 7 de abril de 2004 (vuelta) | 20 y 21 de abril de 2004 (ida) 4 y 5 de mayo de 2004 (vuelta) | 20 y 21 de abril de 2004 (ida) 4 y 5 de mayo de 2004 (vuelta) | 20 y 21 de abril de 2004 (ida) 4 y 5 de mayo de 2004 (vuelta) | 20 y 21 de abril de 2004 (ida) 4 y 5 de mayo de 2004 (vuelta) | 20 y 21 de abril de 2004 (ida) 4 y 5 de mayo de 2004 (vuelta) | | 26 de mayo de 2004 Arena AufSchalke, Gelsenkirchen | 26 de mayo de 2004 Arena AufSchalke, Gelsenkirchen | 26 de mayo de 2004 Arena AufSchalke, Gelsenkirchen | |
| 2F | Porto | 2 | 1 | 3 | | | | | | | | | | |
| 1E | Manchester United | 1 | 1 | 2 | | | | | | | | | | |
| 1E | Manchester United | 1 | 1 | 2 | 2F | Porto | 2 | 2 | 4 | | | | | |
| | | | | | 1A | Olympique de Lyon | 0 | 2 | 2 | | | | | |
| 2D | Real Sociedad | 0 | 0 | 0 | 1A | Olympique de Lyon | 0 | 2 | 2 | | | | | |
| 1A | Olympique de Lyon | 1 | 1 | 2 | | | | | | | | | | |
| 1A | Olympique de Lyon | 1 | 1 | 2 | | | | | | 2F | Porto | 0 | 1 | 1 |
| | | | | | | | | | | 2C | Deportivo La Coruña | 0 | 0 | 0 |
| 2G | Sparta Praga | 0 | 1 | 1 | | | | | | | | | | | 2C | Deportivo La Coruña | 0 | 0 | 0 |
| 1H | Milan | 0 | 4 | 4 | | | | | | | | | | |
| 1H | Milan | 0 | 4 | 4 | 1H | Milan | 4 | 0 | 4 | | | | | |
| | | | | | 2C | Deportivo La Coruña | 1 | 4 | 5 | | | | | |
| 2C | Deportivo La Coruña | 1 | 1 | 2 | 2C | Deportivo La Coruña | 1 | 4 | 5 | | | | | |
| 1D | Juventus | 0 | 0 | 0 | | | | | | | | | | |
| 1D | Juventus | 0 | 0 | 0 | | | | | | | | | | | | 2F | Porto | 3 | |
| | | | | | | | | | | | | | | | | 1C | Mónaco | 0 | |
| 2A | Bayern Múnich | 1 | 0 | 1 | | | | | | | | | | | | | | | | 1C | Mónaco | 0 |
| 1F | Real Madrid | 1 | 1 | 2 | | | | | | | | | | |
| 1F | Real Madrid | 1 | 1 | 2 | 1F | Real Madrid | 4 | 1 | 5 | | | | | |
| | | | | | 1C | Mónaco (v.) | 2 | 3 | 5 | | | | | |
| 2B | Lokomotiv Moscú | 2 | 0 | 2 | 1C | Mónaco (v.) | 2 | 3 | 5 | | | | | |
| 1C | Mónaco (v.) | 1 | 1 | 2 | | | | | | | | | | |
| 1C | Mónaco (v.) | 1 | 1 | 2 | | | | | | 1C | Mónaco | 3 | 2 | 5 |
| | | | | | | | | | | 1G | Chelsea | 1 | 2 | 3 |
| 2E | Stuttgart | 0 | 0 | 0 | | | | | | | | | | | 1G | Chelsea | 1 | 2 | 3 |
| 1G | Chelsea | 1 | 0 | 1 | | | | | | | | | | |
| 1G | Chelsea | 1 | 0 | 1 | 1G | Chelsea | 1 | 2 | 3 | | | | | |
| | | | | | 1B | Arsenal | 1 | 1 | 2 | | | | | |
| 2H | Celta de Vigo | 2 | 0 | 2 | 1B | Arsenal | 1 | 1 | 2 | | | | | |
| 1B | Arsenal | 3 | 2 | 5 | | | | | | | | | | |

### Semifinales
## Final

| Porto 3 | Mónaco 0 |
| 26 de mayo de 2004, 20:45 CET Arena AufSchalke, Gelsenkirchen — 53.053 espectadores ||
| 99POR Vítor Baía 22DEF Paulo Ferreira  2DEF Jorge Costa  4DEF Ricardo Carvalho  8DEF Nuno Valente 23MED Pedro Mendes  6MED Costinha 18MED Maniche 10DEL Deco 85' 11DEL Derlei 78' 19DEL Carlos Alberto 60' Entrenador José Mourinho | 30POR Flavio Roma  4DEF Hugo Ibarra 27DEF Julien Rodriguez 32DEF Gaël Givet 72'  3DEF Patrice Evra 14MED Édouard Cissé 64'  7MED Lucas Bernardi 15MED Andreas Zikos  8DEL Ludovic Giuly 23' 25DEL Jérôme Rothen 10DEL Fernando Morientes Entrenador Didier Deschamps |
| Sustituciones ||
| 15MED Dmitri Alenichev 60' 77DEL Benni McCarthy 78'  3MED Pedro Emanuel 85' | 9DEL Dado Pršo 23' 19DEF Sébastien Squillaci 64' 18DEF Shabani Nonda 72' |
| Goles ||
| 39'Carlos Alberto1-0 71'Deco2-0 75'Dmitri Alenichev3-0 | |
| Amonestaciones ||
| 29'Nuno Valente 40'Carlos Alberto Gomes 77'Jorge Costa | |
| Árbitro Kim Milton Nielsen Árbitros asistentes Jens Larsen Jørgen Jepsen Cuarto árbitro Knud Erik Fisker ||
* Campeón F. C. Porto 2.º título

## Rendimiento general

| Pos. | Equipo | Pts. | PJ | G | E | P | GF | GC | Dif. | Rend. |
| 1 | Porto | 26 | 13 | 7 | 5 | 1 | 20 | 12 | +8 | 66.67% |
| 2 | Mónaco | 21 | 13 | 6 | 3 | 4 | 27 | 19 | +8 | 53.85% |
| 3 | Chelsea | 22 | 12 | 6 | 4 | 2 | 16 | 10 | +6 | 61.11% |
| 4 | Deportivo de La Coruña | 20 | 12 | 6 | 2 | 4 | 19 | 17 | +2 | 55.56% |
| 5 | Real Madrid | 21 | 10 | 6 | 3 | 1 | 18 | 11 | +7 | 70% |
| 6 | Arsenal | 17 | 10 | 5 | 2 | 3 | 16 | 11 | +5 | 56.67% |
| 7 | Milan | 17 | 10 | 5 | 2 | 3 | 12 | 9 | +3 | 56.67% |
| 8 | Olympique de Lyon | 17 | 10 | 5 | 2 | 3 | 11 | 11 | 0 | 56.67% |
| 9 | Manchester United | 16 | 8 | 5 | 1 | 2 | 15 | 5 | +10 | 66.67% |
| 10 | Juventus | 13 | 8 | 4 | 1 | 3 | 15 | 8 | +7 | 54.17% |
| 11 | VfB Stuttgart | 13 | 8 | 4 | 1 | 3 | 9 | 7 | +2 | 54.17% |
| 12 | Lokomotiv Moscú | 11 | 8 | 3 | 2 | 3 | 9 | 9 | 0 | 45.83% |
| 13 | Bayern Múnich | 10 | 8 | 2 | 4 | 2 | 7 | 7 | 0 | 41.67% |
| 14 | Celta de Vigo | 9 | 8 | 2 | 3 | 3 | 9 | 11 | −2 | 37.50% |
| 15 | Real Sociedad | 9 | 8 | 2 | 3 | 3 | 8 | 10 | −2 | 37.50% |
| 16 | Sparta Praga | 9 | 8 | 2 | 3 | 3 | 6 | 9 | −3 | 37.50% |
| 17 | PSV Eindhoven | 10 | 6 | 3 | 1 | 2 | 8 | 7 | +1 | 55.56% |
| 18 | Brujas | 8 | 6 | 2 | 2 | 2 | 5 | 6 | −1 | 44.44% |
| 19 | Internazionale | 8 | 6 | 2 | 2 | 2 | 8 | 11 | −3 | 44.44% |
| 20 | Celtic | 7 | 6 | 2 | 1 | 3 | 8 | 7 | +1 | 38.89% |
| 21 | Dinamo de Kiev | 7 | 6 | 2 | 1 | 3 | 8 | 8 | 0 | 38.89% |
| 22 | Galatasaray | 7 | 6 | 2 | 1 | 3 | 6 | 8 | −2 | 38.89% |
| 23 | Beşiktaş | 7 | 6 | 2 | 1 | 3 | 5 | 7 | −2 | 38.89% |
| 24 | Anderlecht | 7 | 6 | 2 | 1 | 3 | 4 | 6 | −2 | 38.89% |
| 25 | Ajax | 6 | 6 | 2 | 0 | 4 | 6 | 7 | −1 | 33.33% |
| 26 | Lazio | 5 | 6 | 1 | 2 | 3 | 6 | 10 | −4 | 27.78% |
| 27 | Olympique de Marsella | 4 | 6 | 1 | 1 | 4 | 9 | 11 | −2 | 22.22% |
| 28 | Rangers | 4 | 6 | 1 | 1 | 4 | 4 | 10 | −6 | 22.22% |
| 29 | Olympiacos | 4 | 6 | 1 | 1 | 4 | 6 | 13 | −7 | 22.22% |
| 30 | Panathinaikos | 4 | 6 | 1 | 1 | 4 | 5 | 13 | −8 | 22.22% |
| 31 | Partizán de Belgrado | 3 | 6 | 0 | 3 | 3 | 3 | 8 | −5 | 16.67% |
| 32 | AEK Atenas | 2 | 6 | 0 | 2 | 4 | 1 | 11 | −10 | 11.11% |
Fuente:

## Máximos goleadores

| Jugador | Equipo | Goles |
| Fernando Morientes | Mónaco | 9 |
| Dado Pršo | Mónaco | 7 |
| Roy Makaay | Bayern Múnich | 6 |
| Walter Pandiani | Deportivo de La Coruña | 6 |
| Thierry Henry | Arsenal | 5 |
| Juninho Pernambucano | Olympique de Lyon | 5 |
| Hakan Şükür | Galatasaray | 5 |
La UEFA solo considera los goles marcados a partir de la fase de grupos, y no los de las rondas previas.

## Jugadores premiados por la UEFA

Jugadores premiados :
| Mejor jugador | Deco (Porto) |
| Mejor portero | Vítor Baía (Porto) |
| Mejor defensa | Ricardo Carvalho (Porto) |
| Mejor centrocampista | Deco (Porto) |
| Mejor delantero | Fernando Morientes (Mónaco) |