# 1986–87 European Cup

The 1986–87 season was the 32nd season of the European Cup, Europe's premier club football competition. The tournament was won by Porto, who came from behind in the final against Bayern Munich to give a Portuguese club its first title since 1962.
Steaua București, the defending champions, were eliminated by Anderlecht in the second round, having received a bye to reach that stage of the tournament due to the absence of the English champions (Liverpool), as the ban on English clubs in European competitions was now in its second season.

## Teams

| Dinamo Tirana (1st) | Austria Wien (1st) | Anderlecht (1st) | Beroe (1st) |
| APOEL (1st) | Vítkovice (1st) | Brøndby (1st) | HJK (1st) |
| Paris Saint-Germain (1st) | BFC Dynamo (1st) | Bayern Munich (1st) | Panathinaikos (1st) |
| Budapesti Honvéd (1st) | Valur (1st) | Shamrock Rovers (1st) | Juventus (1st) |
| Avenir Beggen (1st) | Rabat Ajax (1st) | PSV Eindhoven (1st) | Linfield (1st) |
| Rosenborg (1st) | Górnik Zabrze (1st) | Porto (1st) | Steaua București (1st) |
| Celtic (1st) | Real Madrid (1st) | Örgryte (1st) | Young Boys (1st) |
| Beşiktaş (1st) | Dynamo Kyiv (1st) | Red Star Belgrade (2nd) |

## Bracket

| First round | First round | First round | First round | Second round | Second round | Second round | Second round | Quarter-finals | Quarter-finals | Quarter-finals | Quarter-finals | | Semi-finals | Semi-finals | Semi-finals | Semi-finals | | Final | Final | |
| Paris Saint-Germain | 2 | 0 | 2 | | | | | | | | | | | | | | | | | |
| Vítkovice | 2 | 1 | 3 | | | | | | | | | | | | | | | | | |
| Vítkovice | 2 | 1 | 3 | Vítkovice | 1 | 0 | 1 | | | | | | | | | | | | | |
| | | | | Porto | 0 | 3 | 3 | | | | | | | | | | | | | |
| Porto | 9 | 1 | 10 | Porto | 0 | 3 | 3 | | | | | | | | | | | | | |
| Rabat Ajax | 0 | 0 | 0 | | | | | | | | | | | | | | | | | |
| Rabat Ajax | 0 | 0 | 0 | | | | | Porto | 1 | 1 | 2 | | | | | | | | | |
| | | | | | | | | Brøndby | 0 | 1 | 1 | | | | | | | | | |
| Brøndby | 4 | 2 | 5 | | | | | | | | | Brøndby | 0 | 1 | 1 | | | | | | | |
| Honvéd | 1 | 2 | 3 | | | | | | | | | | | | | | | | | |
| Honvéd | 1 | 2 | 3 | Brøndby | 2 | 1 | 3 | | | | | | | | | | | | | |
| | | | | BFC Dynamo | 1 | 1 | 2 | | | | | | | | | | | | | |
| Örgryte | 2 | 1 | 3 | BFC Dynamo | 1 | 1 | 2 | | | | | | | | | | | | | |
| BFC Dynamo | 3 | 4 | 7 | | | | | | | | | | | | | | | | | |
| BFC Dynamo | 3 | 4 | 7 | | | | | | | | | | Porto | 2 | 2 | 4 | | | | |
| | | | | | | | | | | | | | Dynamo Kyïv | 1 | 1 | 2 | | | | |
| Beşiktaş | 2 | 1 | 3 | | | | | | | | | | | | | | Dynamo Kyïv | 1 | 1 | 2 | | |
| Dinamo Tirana | 0 | 0 | 0 | | | | | | | | | | | | | | | | | |
| Dinamo Tirana | 0 | 0 | 0 | Beşiktaş | | | w/o | | | | | | | | | | | | | |
| | | | | APOEL | | | | | | | | | | | | | | | | |
| APOEL (a) | 1 | 2 | 3 | APOEL | | | | | | | | | | | | | | | | |
| HJK | 0 | 3 | 3 | | | | | | | | | | | | | | | | | |
| HJK | 0 | 3 | 3 | | | | | Beşiktaş | 0 | 0 | 0 | | | | | | | | | |
| | | | | | | | | Dynamo Kyïv | 5 | 2 | 7 | | | | | | | | | |
| Shamrock Rovers | 0 | 0 | 0 | | | | | | | | | Dynamo Kyïv | 5 | 2 | 7 | | | | | | | |
| Celtic | 1 | 2 | 3 | | | | | | | | | | | | | | | | | |
| Celtic | 1 | 2 | 3 | Celtic | 1 | 1 | 2 | | | | | | | | | | | | | |
| | | | | Dynamo Kyïv | 1 | 3 | 4 | | | | | | | | | | | | | |
| Beroe | 1 | 0 | 1 | Dynamo Kyïv | 1 | 3 | 4 | | | | | | | | | | | | | |
| Dynamo Kyïv | 1 | 2 | 3 | | | | | | | | | | | | | | | | | |
| Dynamo Kyïv | 1 | 2 | 3 | | | | | | | | | | | | | | | Porto | 2 | |
| | | | | | | | | | | | | | | | | | | Bayern Munich | 1 | |
| PSV Eindhoven | 0 | 0 | 0 | | | | | | | | | | | | | | | | | | Bayern Munich | 1 |
| Bayern Munich | 2 | 0 | 2 | | | | | | | | | | | | | | | | | |
| Bayern Munich | 2 | 0 | 2 | Bayern Munich | 2 | 1 | 3 | | | | | | | | | | | | | |
| | | | | Austria Wien | 0 | 1 | 1 | | | | | | | | | | | | | |
| Avenir Beggen | 0 | 0 | 0 | Austria Wien | 0 | 1 | 1 | | | | | | | | | | | | | |
| Austria Wien | 3 | 3 | 6 | | | | | | | | | | | | | | | | | |
| Austria Wien | 3 | 3 | 6 | | | | | Bayern Munich | 5 | 2 | 7 | | | | | | | | | |
| | | | | | | | | Anderlecht | 0 | 2 | 2 | | | | | | | | | |
| Anderlecht | 2 | 1 | 3 | | | | | | | | | Anderlecht | 0 | 2 | 2 | | | | | | | |
| Górnik Zabrze | 0 | 1 | 1 | | | | | | | | | | | | | | | | | |
| Górnik Zabrze | 0 | 1 | 1 | Anderlecht | 3 | 0 | 3 | | | | | | | | | | | | | |
| | | | | Steaua București | 0 | 1 | 1 | | | | | | | | | | | | | |
| | | | | | | | | | | | | | Bayern Munich | 4 | 0 | 4 | | | | |
| | | | | | | | | | | | | | Real Madrid | 1 | 1 | 2 | | | | |
| Rosenborg | 1 | 1 | 2 | | | | | | | | | | | | | | Real Madrid | 1 | 1 | 2 | | |
| Linfield | 0 | 1 | 1 | | | | | | | | | | | | | | | | | |
| Linfield | 0 | 1 | 1 | Rosenborg | 0 | 1 | 1 | | | | | | | | | | | | | |
| | | | | Crvena zvezda | 3 | 4 | 7 | | | | | | | | | | | | | |
| Crvena zvezda | 3 | 1 | 4 | Crvena zvezda | 3 | 4 | 7 | | | | | | | | | | | | | |
| Panathinaikos | 0 | 2 | 2 | | | | | | | | | | | | | | | | | |
| Panathinaikos | 0 | 2 | 2 | | | | | Crvena zvezda | 4 | 0 | 4 | | | | | | | | | |
| | | | | | | | | Real Madrid (a) | 2 | 2 | 4 | | | | | | | | | |
| Young Boys | 1 | 0 | 1 | | | | | | | | | Real Madrid (a) | 2 | 2 | 4 | | | | | | | |
| Real Madrid | 0 | 5 | 5 | | | | | | | | | | | | | | | | | |
| Real Madrid | 0 | 5 | 5 | Real Madrid (p.) | 1 | 0 | 1(3) | | | | | | | | | | | | | |
| | | | | Juventus | 0 | 1 | 1(1) | | | | | | | | | | | | | |
| Juventus | 7 | 4 | 11 | Juventus | 0 | 1 | 1(1) | | | | | | | | | | | | | |
| Valur | 0 | 0 | 0 | | | | | | | | | | | | | | | | | |

## First round

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Paris Saint-Germain | 2–3 | Vítkovice | 2–2 | 0–1 |
| Porto | 10–0 | Rabat Ajax | 9–0 | 1–0 |
| Brøndby | 6–3 | Budapest Honvéd | 4–1 | 2–2 |
| Örgryte | 3–7 | BFC Dynamo | 2–3 | 1–4 |
| Beşiktaş | 3–0 | Dinamo Tirana | 2–0 | 1–0 |
| APOEL | 3–3 (a) | HJK | 1–0 | 2–3 |
| Shamrock Rovers | 0–3 | Celtic | 0–1 | 0–2 |
| Beroe | 1–3 | Dynamo Kyiv | 1–1 | 0–2 |
| PSV Eindhoven | 0–2 | Bayern Munich | 0–2 | 0–0 |
| Avenir Beggen | 0–6 | Austria Wien | 0–3 | 0–3 |
| Anderlecht | 3–1 | Górnik Zabrze | 2–0 | 1–1 |
| Rosenborg | 2–1 | Linfield | 1–0 | 1–1 |
| Red Star Belgrade | 4–2 | Panathinaikos | 3–0 | 1–2 |
| Young Boys | 1–5 | Real Madrid | 1–0 | 0–5 |
| Juventus | 11–0 | Valur | 7–0 | 4–0 |

### Second leg

Vítkovice won 3–2 on aggregate.
Porto won 10–0 on aggregate.
Brøndby won 6–3 on aggregate.
Dynamo Berlin won 7–3 on aggregate.
Beşiktaş won 3–0 on aggregate.
3–3 on aggregate; APOEL won on away goals.
Celtic won 3–0 on aggregate.
Dynamo Kyiv won 3–1 on aggregate.
Bayern Munich won 2–0 on aggregate.
Austria Wien won 6–0 on aggregate.
Anderlecht won 3–1 on aggregate.
Rosenborg won 2–1 on aggregate.
Red Star Belgrade won 4–2 on aggregate.
Real Madrid won 5–1 on aggregate.
Juventus won 11–0 on aggregate.

## Second round

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Vítkovice | 1–3 | Porto | 1–0 | 0–3 |
| Brøndby | 3–2 | BFC Dynamo | 2–1 | 1–1 |
| Beşiktaş | (w/o)$^1$ | APOEL | – | – |
| Celtic | 2–4 | Dynamo Kyiv | 1–1 | 1–3 |
| Bayern Munich | 3–1 | Austria Wien | 2–0 | 1–1 |
| Anderlecht | 3–1 | Steaua București | 3–0 | 0–1 |
| Rosenborg | 1–7 | Red Star Belgrade | 0–3 | 1–4 |
| Real Madrid | 1–1 (3–1 p) | Juventus | 1–0 | 0–1 |
$^1$ APOEL withdrew for political reasons.

### Second leg

Porto won 3–1 on aggregate.
Brøndby won 3–2 on aggregate.
Dynamo Kyiv won 4–2 on aggregate.
Bayern Munich won 3–1 on aggregate.
Anderlecht won 3–1 on aggregate.
Red Star Belgrade won 7–1 on aggregate.
1–1 on aggregate; Real Madrid won on penalties.

## Quarter-finals

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Porto | 2–1 | Brøndby | 1–0 | 1–1 |
| Beşiktaş | 0–7 | Dynamo Kyiv | 0–5 | 0–2 |
| Bayern Munich | 7–2 | Anderlecht | 5–0 | 2–2 |
| Red Star Belgrade | 4–4 (a) | Real Madrid | 4–2 | 0–2 |

### Second leg

Porto won 2–1 on aggregate.
Dynamo Kyiv won 7–0 on aggregate.
Bayern Munich won 7–2 on aggregate.
4–4 on aggregate; Real Madrid won on away goals.

## Semi-finals

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Porto | 4–2 | Dynamo Kyiv | 2–1 | 2–1 |
| Bayern Munich | 4–2 | Real Madrid | 4–1 | 0–1 |

### Second leg

As per the decision by referee Michel Vautrot, the match was interrupted only a few minutes in with the score still tied at 0–0 due to Real Madrid fans throwing objects, including golf balls, onto the pitch. Play resumed 10 minutes later and completed without interruption. At a disciplinary hearing a few days later, UEFA punished Real Madrid with one match behind closed doors and an additional one-match stadium ban, both enforced during Real Madrid's 1987–88 European Cup participation. Bayern Munich won 4–2 on aggregate.
Porto won 4–2 on aggregate.

## Top scorers

| Rank | Name | Team | Goals |
| 1 | Borislav Cvetković | Red Star Belgrade | 7 |
| 2 | Oleh Blokhin | Dynamo Kyiv | 5 |
| 2 | Emilio Butragueño | Real Madrid | 5 |
| 2 | Fernando Gomes | Porto | 5 |
| 2 | Michael Laudrup | Juventus | 5 |
| 2 | Vadym Yevtushenko | Dynamo Kyiv | 5 |
| 7 | António André | Porto | 4 |
| 7 | Lothar Matthäus | Bayern Munich | 4 |
| 7 | Roland Wohlfarth | Bayern Munich | 4 |
| 10 | Celso | Porto | 3 |
| 10 | Mo Johnston | Celtic | 3 |
| 10 | Rabah Madjer | Porto | 3 |
| 10 | Mitar Mrkela | Red Star Belgrade | 3 |
| 10 | Toni Polster | Austria Wien | 3 |
| 10 | Hugo Sánchez | Real Madrid | 3 |
| 10 | Jiří Šourek | Vítkovice | 3 |
| 10 | Pavlo Yakovenko | Dynamo Kyiv | 3 |