De 13de editie van de Champions League werd door Liverpool FC gewonnen in de strafschoppenreeks tegen het Italiaanse AC Milan.
Voorronde
Derde voorronde
* Eindstand 1-2 maar omgezet in 0-3 forfait wegens het opstellen van de geschorste Liasou Louka van PAOK.
Groepsfase
16 winnaars van de 3de kwalificatieronde, 10 kampioenen van de 10 competities met het beste coëfficiënt en 6 vicekampioenen van de 6 beste competities werden verdeeld over 8 groepen van 4. De top 2 van elke groep gaat naar de 1/8 finale, de nummer 3 naar de UEFA Cup, de nummer 4 is uitgeschakeld.
Groep A
|
|
|
|
| Eerste speeldag |
| Liverpool FC |
2–0 |
Monaco |
| Deportivo La Coruña |
0–0 |
Olmypiakos CFP |
| Tweede speeldag |
| Olmypiakos CFP |
1–0 |
Liverpool FC |
| Monaco |
2–0 |
Deportivo La Coruña |
| Derde speeldag |
| Monaco |
2–1 |
Olympiakos CFP |
| Liverpool FC |
0–0 |
Deportivo La Coruña |
| Vierde speeldag |
| Olympiakos CFP |
1–0 |
Monaco |
| Deportivo La Coruña |
0–1 |
Liverpool FC |
| Vijfde speeldag |
| Monaco |
1–0 |
Liverpool FC |
| Olympiakos CFP |
1–0 |
Deportivo La Coruña |
| Zesde speeldag |
| Liverpool FC |
3–1 |
Olympiakos CFP |
| Deportivo de la Coruña |
0–5 |
Monaco |
Groep B
|
|
|
|
| Eerste speeldag |
| Bayer Leverkusen |
3–0 |
Real Madrid |
| AS Roma |
0–3(f) |
Dynamo Kiev |
| Tweede speeldag |
| Dynamo Kiev |
4–2 |
Bayer Leverkusen |
| Real Madrid |
4–2 |
AS Roma |
| Derde speeldag |
| Real Madrid |
1–0 |
Dynamo Kiev |
| Bayer Leverkusen |
3–1 |
AS Roma |
| Vierde speeldag |
| Dynamo Kiev |
2–2 |
Real Madrid |
| AS Roma |
1–1 |
Bayer Leverkusen |
| Vijfde speeldag |
| Real Madrid |
1–1 |
Bayer Leverkusen |
| Dynamo Kiev |
2–0 |
AS Roma |
| Zesde speeldag |
| Bayer Leverkusen |
3–0 |
Dynamo Kiev |
| AS Roma |
0–3 |
Real Madrid |
Groep C
|
|
|
|
| Eerste speeldag |
| Ajax |
0–1 |
Juventus |
| Maccabi Tel-Aviv |
0–1 |
Bayern München |
| Tweede speeldag |
| Bayern München |
4–0 |
Ajax |
| Juventus |
1–0 |
Maccabi Tel-Aviv |
| Derde speeldag |
| Juventus |
1–0 |
Bayern München |
| Ajax |
3–0 |
Maccabi Tel-Aviv |
| Vierde speeldag |
| Bayern München |
0–1 |
Juventus |
| Maccabi Tel-Aviv |
2–1 |
Ajax |
| Vijfde speeldag |
| Juventus |
1–0 |
Ajax |
| Bayern München |
5–1 |
Maccabi Tel-Aviv |
| Zesde speeldag |
| Ajax |
2–2 |
Bayern München |
| Maccabi Tel-Aviv |
1–1 |
Juventus |
Groep D
|
|
|
|
| Eerste speeldag |
| Fenerbahçe SK |
1–0 |
AC Sparta Praag |
| Lyon |
2–2 |
Manchester United |
| Tweede speeldag |
| Manchester United |
6–2 |
Fenerbahçe SK |
| AC Sparta Praag |
1–2 |
Lyon |
| Derde speeldag |
| AC Sparta Praag |
0–0 |
Manchester United |
| Fenerbahçe SK |
1–3 |
Lyon |
| Vierde speeldag |
| Manchester United |
4–1 |
AC Sparta Praag |
| Lyon |
4–2 |
Fenerbahçe SK |
| Vijfde speeldag |
| AC Sparta Praag |
0–1 |
Fenerbahçe SK |
| Manchester United |
2–1 |
Lyon |
| Zesde speeldag |
| Fenerbahçe SK |
3–0 |
Manchester United |
| Lyon |
5–0 |
AC Sparta Praag |
Groep E
|
|
|
|
| Eerste speeldag |
| Panathinaikos FC |
2–1 |
Rosenborg B.K. |
| Arsenal |
1–0 |
PSV Eindhoven |
| Tweede speeldag |
| PSV Eindhoven |
1–0 |
Panathinaikos FC |
| Rosenborg B.K. |
1–1 |
Arsenal |
| Derde speeldag |
| Rosenborg B.K. |
1–2 |
PSV Eindhoven |
| Panathinaikos FC |
2–2 |
Arsenal |
| Vierde speeldag |
| Arsenal |
1–1 |
Panathinaikos FC |
| PSV Eindhoven |
1–0 |
Rosenborg B.K. |
| Vijfde speeldag |
| Rosenborg B.K. |
2–2 |
Panathinaikos FC |
| PSV Eindhoven |
1–1 |
Arsenal |
| Zesde speeldag |
| Panathinaikos FC |
4–1 |
PSV Eindhoven |
| Arsenal |
5–1 |
Rosenborg B.K. |
Groep F
|
|
|
|
| Eerste speeldag |
| Sjachtar Donetsk |
0–1 |
AC Milan |
| Celtic |
1–3 |
Barcelona |
| Tweede speeldag |
| Barcelona |
3–0 |
Sjachtar Donetsk |
| AC Milan |
3–1 |
Celtic |
| Derde speeldag |
| AC Milan |
1–0 |
Barcelona |
| Sjachtar Donetsk |
3–0 |
Celtic |
| Vierde speeldag |
| Barcelona |
2–1 |
AC Milan |
| Celtic |
1–0 |
Sjachtar Donetsk |
| Vijfde speeldag |
| AC Milan |
4–0 |
Sjachtar Donetsk |
| Barcelona |
1–1 |
Celtic |
| Zesde speeldag |
| Sjachtar Donetsk |
2–0 |
Barcelona |
| Celtic |
0–0 |
AC Milan |
Groep G
|
|
|
|
| Eerste speeldag |
| Valencia |
2–0 |
Anderlecht |
| Internazionale |
2–0 |
Werder Bremen |
| Tweede speeldag |
| Werder Bremen |
2–1 |
Valencia |
| Anderlecht |
1–3 |
Internazionale |
| Derde speeldag |
| Anderlecht |
1–2 |
Werder Bremen |
| Valencia |
1–5 |
Internazionale |
| Vierde speeldag |
| Werder Bremen |
5–1 |
Anderlecht |
| Internazionale |
0–0 |
Valencia |
| Vijfde speeldag |
| Anderlecht |
1–2 |
Valencia |
| Werder Bremen |
1–1 |
Internazionale |
| Zesde speeldag |
| Valencia |
0–2 |
Werder Bremen |
| Internazionale |
3–0 |
Anderlecht |
Groep H
|
|
|
|
| Eerste speeldag |
| Paris SG |
0–3 |
Chelsea |
| FC Porto |
0–0 |
CSKA Moskou |
| Tweede speeldag |
| CSKA Moskou |
2–0 |
Paris SG |
| Chelsea |
3–1 |
FC Porto |
| Derde speeldag |
| Chelsea |
2–0 |
CSKA Moskou |
| Paris SG |
2–0 |
FC Porto |
| Vierde speeldag |
| CSKA Moskou |
0–1 |
Chelsea |
| FC Porto |
0–0 |
Paris SG |
| Vijfde speeldag |
| CSKA Moskou |
0–1 |
FC Porto |
| Chelsea |
0–0 |
Paris SG |
| Zesde speeldag |
| Paris SG |
1–3 |
CSKA Moskou |
| FC Porto |
2–1 |
Chelsea |
Kwartfinale
* Stilgelegd bij 1-0 na 73' en omgezet in 3-0 forfait nadat AC Milan-doelman Dida geraakt werd door een fakkel.