UEFA Champions League
- Europe
- Winner Real Madrid
Qualifying rounds
First qualifying round
Joins here: Vikingur Gota, Hibernians, FCI Tallinn, Alashkert, Santa Coloma, The New, Europa, Linfield
1st2ndAggMatch details
- 1st legAlashkert1–0Santa Coloma
- 2nd legSanta Coloma1–1Alashkert
Match details
- 1st legHibernians2–0FCI Tallinn
- 2nd legFCI Tallinn0–1Hibernians
Second qualifying round
21 clubs join here
1st2ndAggLevel on aggregate, Sheriff Tiraspol went through
Match details
- 1st legSheriff Tiraspol1–0Kukësi
- 2nd legKukësi2–1Sheriff Tiraspol
Match details
- 1st legMalmö FF1–1Vardar Skopje
- 2nd legVardar Skopje3–1Malmö FF
Match details
- 1st legApoel Nicosia1–0F91 Dudelange
- 2nd legF91 Dudelange0–1Apoel Nicosia
Match details
- 1st legHibernians0–3Red Bull Salzburg
- 2nd legRed Bull Salzburg3–0Hibernians
Match details
- 1st legSpartaks Jūrmala0–1Astana
- 2nd legAstana1–1Spartaks Jūrmala
Match details
- 1st legMariehamn0–3Legia Warszawa
- 2nd legLegia Warszawa6–0Mariehamn
Match details
- 1st legHapoel Beer2–1Budapest Honvéd
- 2nd legBudapest Honvéd2–3Hapoel Beer
Match details
- 1st legFK Zalgiris2–1Ludogorets
- 2nd legLudogorets4–1FK Zalgiris
Match details
- 1st legZrinjski Mostar1–2Maribor
- 2nd legMaribor1–1Zrinjski Mostar
Third qualifying round
Joins here: Viitorul Constanța, Plzeň, Ajax, Dynamo Kyiv, AEK Athens, Club Brugge
1st2ndAggMatch details
- 1st legQarabag0–0Sheriff Tiraspol
- 2nd legSheriff Tiraspol1–2Qarabag
Match details
- 1st legVardar Skopje1–0Copenhagen
- 2nd legCopenhagen4–1Vardar Skopje
Apoel Nicosia won 4–1 on aggregate after extra time
Match details
- 1st legViitorul Constanța1–0Apoel Nicosia
- 2nd legApoel Nicosia4–0 AETViitorul Constanța
Level on aggregate, Slavia Praha went through
Match details
- 1st legSlavia Praha1–0Borisov
- 2nd legBorisov2–1Slavia Praha
Match details
- 1st legPartizan1–3Olympiakos Piraeus
- 2nd legOlympiakos Piraeus2–2Partizan
Level on aggregate, HNK Rijeka went through
Match details
- 1st legRed Bull Salzburg1–1HNK Rijeka
- 2nd legHNK Rijeka0–0Red Bull Salzburg
Match details
- 1st legAstana3–1Legia Warszawa
- 2nd legLegia Warszawa1–0Astana
Level on aggregate, Hapoel Beer went through
Match details
- 1st legHapoel Beer2–0Ludogorets
- 2nd legLudogorets3–1Hapoel Beer
Match details
- 1st legClub Brugge3–3Başakşehir
- 2nd legBaşakşehir2–0Club Brugge
Level on aggregate, BSC Young Boys went through
Match details
- 1st legDynamo Kyiv3–1BSC Young Boys
- 2nd legBSC Young Boys2–0Dynamo Kyiv
Match details
- 1st legAEK Athens0–2CSKA Moscow
- 2nd legCSKA Moscow1–0AEK Athens
Play-off round
1st2ndAggLevel on aggregate, Qarabag went through
Match details
- 1st legQarabag1–0Copenhagen
- 2nd legCopenhagen2–1Qarabag
Match details
- 1st legApoel Nicosia2–0Slavia Praha
- 2nd legSlavia Praha0–0Apoel Nicosia
Match details
- 1st legOlympiakos Piraeus2–1HNK Rijeka
- 2nd legHNK Rijeka0–1Olympiakos Piraeus
Level on aggregate, Maribor went through
Match details
- 1st legHapoel Beer2–1Maribor
- 2nd legMaribor1–0Hapoel Beer
Match details
- 1st legBSC Young Boys0–1CSKA Moscow
- 2nd legCSKA Moscow2–0BSC Young Boys
Match details
- 1st leg1899 Hoffenheim1–2Liverpool
- 2nd legLiverpool4–21899 Hoffenheim
Round of 16
1st2ndAggMatch details
- 1st legBayern München5–0Beşiktaş
- 2nd legBeşiktaş1–3Bayern München
Match details
- 1st legFC Basel 18930–4Man City
- 2nd legMan City1–2FC Basel 1893
Level on aggregate, Roma went through
Match details
- 1st legShakhtar Donetsk2–1Roma
- 2nd legRoma1–0Shakhtar Donetsk
Quarter-finals
1st2ndAggMatch details
- 1st legSevilla1–2Bayern München
- 2nd legBayern München0–0Sevilla
Match details
- 1st legJuventus0–3Real Madrid
- 2nd legReal Madrid1–3Juventus
Semi-finals
1st2ndAggMatch details
- 1st legBayern München1–2Real Madrid
- 2nd legReal Madrid2–2Bayern München
Final
Sources: Wikipedia (CC BY-SA 4.0), API-Football · Data sources