Play-off round
1st2ndAgg
PSV Eindhoven won 7–3 on aggregate
1st2ndAgg
Copenhagen won 2–1 on aggregate
1st2ndAgg
BSC Young Boys won 3–0 on aggregate
1st2ndAgg
Antwerp won 3–1 on aggregate
1st2ndAgg
Galatasaray won 5–3 on aggregate
1st2ndAgg
SC Braga won 3–1 on aggregate
Round of 16
1st2ndAgg
Atlético won 3–2 on penalties
1st2ndAgg
Borussia Dortmund won 3–1 on aggregate
1st2ndAgg
PSG won 4–1 on aggregate
1st2ndAgg
Barça won 4–2 on aggregate
1st2ndAgg
Arsenal won 4–2 on penalties
1st2ndAgg
Bayern München won 3–1 on aggregate
1st2ndAgg
Real Madrid won 2–1 on aggregate
1st2ndAgg
Man City won 6–2 on aggregate
Quarter-finals
1st2ndAgg
Borussia Dortmund won 5–4 on aggregate
1st2ndAgg
PSG won 6–4 on aggregate
1st2ndAgg
Bayern München won 3–2 on aggregate
1st2ndAgg
Real Madrid won 4–3 on penalties
Semi-finals
1st2ndAgg
Borussia Dortmund won 2–0 on aggregate
1st2ndAgg
Real Madrid won 4–3 on aggregate
Final
Data coverage for UEFA Champions League →
Sources: Wikipedia (CC BY-SA 4.0), API-Football · Data sources