# 1987–88 UEFA Cup

The 1987–88 UEFA Cup was the 17th season of the UEFA Cup, the secondary club football competition organised by the Union of European Football Associations (UEFA). The final was played over two legs at the Estadi de Sarriá, Barcelona, Spain, and at Ulrich-Haberland Stadion, Leverkusen, Germany. The competition was won by Bayer Leverkusen of Germany, who defeated Español of Spain on penalty kicks with an aggregate result of 3–3.
In only their second season of European football, Bayer Leverkusen earned their first major title in professional competition. This was also the second UEFA Cup final decided on penalty kicks, four years after the first one. This was the third season in which all English clubs were banned from European football competitions

## Association team allocation

A total of 64 teams from 31 UEFA member associations participated in the 1987–88 UEFA Cup, all entering from the first round over six knock-out rounds. The association ranking based on the UEFA country coefficients is used to determine the number of participating teams for each association:
* Associations 1–3 each have four teams qualify.
* Associations 4–8 each have three teams qualify.
* Associations 9–21 each have two teams qualify.
* Associations 22–32 each have one team qualify.
Due to the ongoing ban on English clubs, their three births were allocated to associations 9–11, each gaining a third birth.

### Association ranking

For the 1987–88 UEFA Cup, the associations are allocated places according to their 1986 UEFA country coefficients, which takes into account their performance in European competitions from 1981–82 to 1985–86.
| Rank | Association | Coeff. | Teams |
| 1 | Italy | 39.466 | 4 |
| 2 | West Germany | 37.332 | 4 |
| 3 | Soviet Union | 36.516 | 4 |
| 4 | Belgium | 34.500 | 3 |
| 5 | Spain | 33.199 | 3 |
| 6 | England | 33.093 | 0 |
| 7 | Scotland | 31.200 | 3 |
| 8 | Yugoslavia | 29.150 | 3 |
| 9 | Portugal | 29.100 | 3 |
| 10 | Austria | 26.500 | 3 |
| 11 | Romania | 23.166 | 3 |
| 12 | Sweden | 22.000 | 2 |
| 13 | Czechoslovakia | 21.700 | 2 |
| 14 | East Germany | 19.400 | 2 |
| 15 | France | 18.200 | 2 |
| 16 | Switzerland | 17.750 | 2 |
| 17 | Greece | 16.666 | 2 |
| Rank | Association | Coeff. | Teams |
| 18 | Hungary | 16.500 | 2 |
| 19 | Netherlands | 15.983 | 2 |
| 20 | Poland | 14.500 | 2 |
| 21 | Bulgaria | 13.166 | 2 |
| - | Wales | 11.000 | 0 |
| 22 | Finland | 9.664 | 1 |
| 23 | Denmark | 8.249 | 1 |
| 24 | Albania | 7.500 | 1 |
| 25 | Turkey | 6.999 | 1 |
| 26 | Cyprus | 5.999 | 1 |
| 27 | Norway | 5.666 | 1 |
| 28 | Republic of Ireland | 5.665 | 1 |
| 29 | Northern Ireland | 5.331 | 1 |
| 30 | Iceland | 3.665 | 1 |
| 31 | Malta | 1.666 | 1 |
| 32 | Luxembourg | 1.332 | 1 |

### Teams

The labels in parentheses show how each team qualified for competition:
* TH: Title holders
* CW: Cup winners
* CR: Cup runners-up
* LC: League Cup winners
* 2nd, 3rd, 4th, 5th, 6th, etc.: League position
* P-W: End-of-season European competition play-offs winners
Qualified teams for 1987–88 UEFA Cup :
| Juventus (2nd) | Internazionale (3rd) | Hellas Verona (4th) | Milan (P-W) |
| Borussia Mönchengladbach (3rd) | Borussia Dortmund (4th) | Werder Bremen (5th) | Bayer Leverkusen (6th) |
| Dynamo Moscow (2nd) | Spartak Moscow (3rd) | Zenit (4th) | Dinamo Tbilisi (5th) |
| Club Brugge (3rd) | Lokeren (4th) | Beveren (5th) | Barcelona (2nd) |
| Español (3rd) | Sporting Gijón (4th) | Celtic (2nd) | Dundee United (3rd) |
| Aberdeen (4th) | Partizan (1st) | Velež Mostar (2nd) | Red Star Belgrade (3rd) |
| Vitória de Guimarães (3rd) | Chaves (5th) | Belenenses (6th) | Austria Wien (2nd) |
| LASK (4th) | Admira/Wacker (5th) | Victoria București (3rd) | Sportul Studențesc (4th) |
| Universitatea Craiova (5th) | AIK (2nd) | IFK Göteborg (3rd) | TJ Vítkovice (2nd) |
| Bohemians (3rd) | Dynamo Dresden (2nd) | Wismut Aue (4th) | Toulouse (3rd) |
| Auxerre (4th) | Grasshopper (2nd) | Sion (3rd) | Panathinaikos (2nd) |
| Panionios (4th) | Tatabányai Bányász (3rd) | Budapesti Honvéd (4th) | Feyenoord (3rd) |
| Utrecht (P-W) | Pogoń Szczecin (2nd) | GKS Katowice (3rd) | Trakia Plovdiv (3rd) |
| Lokomotiv Sofia (4th) | TPS (2nd) | Brøndby (2nd) | Flamurtari (2nd) |
| Beşiktaş (2nd) | EPA Larnaca (3rd) | Mjøndalen (2nd) | Bohemian (3rd) |
| Coleraine (2nd) | Valur (2nd) | Valletta (2nd) | Spora Luxembourg (3rd) |
Notes
* ^ Yugoslavia: Partizan finished the 1986-87 Yugoslav First League in second place behind Vardar, because of a six-point deduction. This was imposed to 12 different teams, Vardar not among them, at the end of the previous season due to allegations of match fixing that resulted in the final matchday being voided and replayed. After an appeal, the Yugoslav Constitutional Court reversed both rulings on 29 July 1987, proclaiming Partizan as champions of the 1986-87 season and demoting Vardar to fifth place, which would have left them out of European competition in benefit of the fourth placed team Rijeka. However, the draw for the European Cup had already been conducted, and Vardar remained in the tournament, with Partizan competing in the UEFA Cup instead.
* ^ Cyprus: APOEL finished 2nd in the 1986–87 Cypriot First Division, but it was disqualified from any UEFA competition for one year due to its withdrawal against Besiktas J.K. in the second round of the 1986–87 European Cup, which was imposed by the Cypriot government over the Cyprus problem. The third team of the table, EPA Larnaca, took APOEL's place in the UEFA Cup.

## Schedule

The schedule of the competition was as follows. Matches were scheduled for Wednesdays, though some matches exceptionally took place on Tuesdays, Thursdays or Saturdays.
Schedule for 1987–88 UEFA Cup :
| Round | First leg | Second leg |
| First round | 16–17 September 1987 | 30 September 1987 |
| Second round | 21–24 October 1987 | 3–4 November 1987 |
| Third round | 25 November 1987 | 9 December 1987 |
| Quarter-finals | 2 March 1988 | 16 March 1988 |
| Semi-finals | 6 April 1988 | 20 April 1988 |
| Final | 4 May 1988 | 18 May 1988 |

## First round

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Beşiktaş | 1–3 | Internazionale | 0–0 | 1–3 |
| Bohemian | 0–1 | Aberdeen | 0–0 | 0–1 |
| Borussia Mönchengladbach | 1–5 | Español | 0–1 | 1–4 |
| Brøndby | 2–1 | IFK Göteborg | 2–1 | 0–0 |
| Budapesti Honvéd | 1–0 | Lokeren | 1–0 | 0–0 |
| Celtic | 2–3 | Borussia Dortmund | 2–1 | 0–2 |
| Coleraine | 1–4 | Dundee United | 0–1 | 1–3 |
| EPA Larnaca | 0–4 | Victoria București | 0–1 | 0–3 |
| Barcelona | 2–1 | Belenenses | 2–0 | 0–1 |
| Wismut Aue | 1–1 (a) | Valur | 0–0 | 1–1 |
| Spartak Moscow | 3–1 | Dynamo Dresden | 3–0 | 0–1 |
| Universitatea Craiova | 4–4 (a) | Chaves | 3–2 | 1–2 |
| TJ Vítkovice | 3–1 | AIK | 1–1 | 2–0 |
| Zenit | 2–5 | Club Brugge | 2–0 | 0–5 |
| Feyenoord | 10–2 | Spora Luxembourg | 5–0 | 5–2 |
| Austria Wien | 1–5 | Bayer Leverkusen | 0–0 | 1–5 |
| Grasshopper | 0–5 | Dynamo Moscow | 0–4 | 0–1 |
| Beveren | 2–1 | Bohemians | 2–0 | 0–1 |
| Flamurtari | 3–2 | Partizan | 2–0 | 1–2 |
| Linzer ASK | 0–2 | Utrecht | 0–0 | 0–2 |
| Mjøndalen | 1–5 | Werder Bremen | 0–5 | 1–0 |
| Panathinaikos | 4–3 | Auxerre | 2–0 | 2–3 |
| Lokomotiv Sofia | 3–4 | Dinamo Tbilisi | 3–1 | 0–3 |
| Pogoń Szczecin | 2–4 | Hellas Verona | 1–1 | 1–3 |
| Red Star Belgrade | 5–2 | Trakia Plovdiv | 3–0 | 2–2 |
| Sporting Gijón | 1–3 | Milan | 1–0 | 0–3 |
| Sportul Studențesc | 3–1 | GKS Katowice | 1–0 | 2–1 |
| Tatabányai Bányász | 1–2 | Vitória de Guimarães | 1–1 | 0–1 |
| Toulouse | 6–1 | Panionios | 5–1 | 1–0 |
| TPS | 2–1 | Admira/Wacker | 0–1 | 2–0 |
| Valletta | 0–7 | Juventus | 0–4 | 0–3 |
| Velež Mostar | 5–3 | Sion | 5–0 | 0–3 |

### Second leg

Internazionale won 3–1 on aggregate.
Aberdeen won 1–0 on aggregate.
Español won 5–1 on aggregate.
Brøndby won 2–1 on aggregate.
Budapesti Honvéd won 1–0 on aggregate.
Borussia Dortmund won 3–2 on aggregate.
Dundee United won 4–1 on aggregate.
Victoria București won 4–0 on aggregate.
Barcelona won 2–1 on aggregate.
1–1 on aggregate; Wismut Aue won on away goals.
Spartak Moscow won 3–1 on aggregate.
4–4 on aggregate; Chaves won on away goals.
TJ Vítkovice won 3–1 on aggregate.
Club Brugge won 5–2 on aggregate.
Feyenoord won 10–2 on aggregate.
Bayer Leverkusen won 5–1 on aggregate.
Dynamo Moscow won 5–0 on aggregate.
Beveren won 2–1 on aggregate.
Flamurtari won 3–2 on aggregate.
Utrecht won 2–0 on aggregate.
Werder Bremen won 5–1 on aggregate.
Panathinaikos won 4–3 on aggregate.
Dinamo Tbilisi won 4–3 on aggregate.
Hellas Verona won 4–2 on aggregate.
Red Star Belgrade won 5–2 on aggregate.
Milan won 3–1 on aggregate. The game was played in Lecce because of the ban on San Siro.
Sportul Studențesc won 3–1 on aggregate.
Vitória de Guimarães won 2–1 on aggregate.
Toulouse won 6–1 on aggregate.
TPS won 2–1 on aggregate.
Juventus won 7–0 on aggregate.
Velež Mostar won 5–3 on aggregate.

## Second round

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Milan | 0–2 | Español | 0–2 | 0–0 |
| Aberdeen | 2–2 (a) | Feyenoord | 2–1 | 0–1 |
| Borussia Dortmund | 3–2 | Velež Mostar | 2–0 | 1–2 |
| Brøndby | 3–3 (0–3 p) | Sportul Studențesc | 3–0 | 0–3 (a.e.t.) |
| Chaves | 2–5 | Budapesti Honvéd | 1–2 | 1–3 |
| Dundee United | 2–3 | TJ Vítkovice | 1–2 | 1–1 |
| Utrecht | 2–3 | Hellas Verona | 1–1 | 1–2 |
| Barcelona | 2–0 | Dynamo Moscow | 2–0 | 0–0 |
| Wismut Aue | 1–2 | Flamurtari | 1–0 | 0–2 |
| Spartak Moscow | 6–7 | Werder Bremen | 4–1 | 2–6 (a.e.t.) |
| Internazionale | 2–1 | TPS | 0–1 | 2–0 |
| Panathinaikos | 3–3 (a) | Juventus | 1–0 | 2–3 |
| Red Star Belgrade | 3–5 | Club Brugge | 3–1 | 0–4 |
| Toulouse | 1–2 | Bayer Leverkusen | 1–1 | 0–1 |
| Victoria București | 1–2 | Dinamo Tbilisi | 1–2 | 0–0 |
| Vitória de Guimarães | 1–1 (5–4 p) | Beveren | 1–0 | 0–1 (a.e.t.) |

### Second leg

Werder Bremen won 7–6 on aggregate.
Español won 2–0 on aggregate.
2–2 on aggregate; Feyenoord won on away goals.
Borussia Dortmund won 3–2 on aggregate.
3–3 on aggregate; Sportul Studențesc won 3–0 on penalties.
Budapesti Honvéd won 5–2 on aggregate.
TJ Vítkovice won 3–2 on aggregate.
Verona won 3–2 on aggregate.
Barcelona won 2–0 on aggregate.
Flamurtari won 2–1 on aggregate.
Internazionale won 2–1 on aggregate.
3–3 on aggregate; Panathinaikos won on away goals.
Club Brugge won 5–3 on aggregate.
Bayer Leverkusen won 2–1 on aggregate.
Dinamo Tbilisi won 2–1 on aggregate.
1–1 on aggregate; Vitória de Guimarães won 5–4 on penalties.

## Third round

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Borussia Dortmund | 3–5 | Club Brugge | 3–0 | 0–5 (a.e.t.) |
| Budapesti Honvéd | 6–7 | Panathinaikos | 5–2 | 1–5 |
| Barcelona | 4–2 | Flamurtari | 4–1 | 0–1 |
| Feyenoord | 2–3 | Bayer Leverkusen | 2–2 | 0–1 |
| Hellas Verona | 4–1 | Sportul Studențesc | 3–1 | 1–0 |
| Internazionale | 1–2 | Español | 1–1 | 0–1 |
| Vitória de Guimarães | 2–2 (4–5 p) | TJ Vítkovice | 2–0 | 0–2 (a.e.t.) |
| Werder Bremen | 3–2 | Dinamo Tbilisi | 2–1 | 1–1 |

### Second leg

Club Brugge won 5–3 on aggregate.
Panathinaikos won 7–6 on aggregate.
Barcelona won 4–2 on aggregate.
Bayer Leverkusen won 3–2 on aggregate.
Hellas Verona won 4–1 on aggregate.
Español won 2–1 on aggregate.
2–2 on aggregate; TJ Vítkovice won 5–4 on penalties.
Werder Bremen won 3–2 on aggregate.

## Quarter-finals

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Bayer Leverkusen | 1–0 | Barcelona | 0–0 | 1–0 |
| Hellas Verona | 1–2 | Werder Bremen | 0–1 | 1–1 |
| Panathinaikos | 2–3 | Club Brugge | 2–2 | 0–1 |
| Español | 2–0 | TJ Vítkovice | 2–0 | 0–0 |

### Second leg

Bayer Leverkusen won 1–0 on aggregate.
Werder Bremen won 2–1 on aggregate.
Club Brugge won 3–2 on aggregate.
Español won 2–0 on aggregate.

## Semi-finals

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Bayer Leverkusen | 1–0 | Werder Bremen | 1–0 | 0–0 |
| Club Brugge | 2–3 | Español | 2–0 | 0–3 (a.e.t.) |

### Second leg

Bayer Leverkusen won 1–0 on aggregate.
Español won 3–2 on aggregate.

## Final
### Second leg

3–3 on aggregate; Bayer Leverkusen won 3–2 on penalties.