| Tournament details | |
|---|---|
| Dates | 10 August 1988 – 10 May 1989 | 
| Teams | 32 (first round) 33 (qualifying)  | 
| Final positions | |
| Champions | |
| Runners-up | |
| Tournament statistics | |
| Matches played | 63 | 
| Goals scored | 152 (2.41 per match) | 
| Attendance | 917,269 (14,560 per match) | 
| Top scorer(s) | Hristo Stoichkov (Sredets Sofia) 7 goals  | 
The 1988–89 season of the European Cup Winners' Cup was won for the third time by Barcelona in the final against Italian entrants Sampdoria. The two sides would meet again in the 1992 European Cup Final, which Barcelona also won. Wimbledon did not participate due to UEFA's five-year ban on English clubs from European competition. The defending champions Mechelen were eliminated in the semi-finals by eventual runners-up Sampdoria.
Preliminary round
| Team 1 | Agg. | Team 2 | 1st leg | 2nd leg | 
|---|---|---|---|---|
| Békéscsabai  | 
4–2 | 3–0 | 1–2 | 
First leg
| Békéscsabai  | 3–0 | |
|---|---|---|
| Gruborovics  Csató  | 
Report | 
Second leg
Békéscsabai won 4–2 on aggregate.
First round
| Team 1 | Agg. | Team 2 | 1st leg | 2nd leg | 
|---|---|---|---|---|
| Derry City  | 
0–4 | 0–0 | 0–4 | |
| Glenavon  | 
2–7 | 1–4 | 1–3 | |
| Fram  | 
0–7 | 0–2 | 0–5 | |
| Flamurtari Vlorë  | 
2–4 | 2–3 | 0–1 | |
| Internacionál Bratislava  | 
2–8 | 2–3 | 0–5 | |
| Omonia  | 
0–3 | 0–1 | 0–2 | |
| Roda JC  | 
2–1 | 2–0 | 0–1 | |
| Borac Banja Luka  | 
2–4 | 2–0 | 0–4 | |
| Grasshopper  | 
0–1 | 0–0 | 0–1 | |
| Sakaryaspor  | 
2–1 | 2–0 | 0–1 | |
| Mechelen  | 
8–1 | 5–0 | 3–1 | |
| Metz  | 
1–5 | 1–3 | 0–2 | |
| Floriana  | 
0–1 | 0–0 | 0–1 | |
| Dinamo București  | 
6–0 | 3–0 | 3–0 | |
| Carl Zeiss Jena  | 
5–1 | 5–0 | 0–1 | |
| IFK Norrköping  | 
2–3 | 2–1 | 0–2 | 
First leg
| Omonia  | 0–1 | |
|---|---|---|
| Report | Mavridis  | 
| Flamurtari Vlorë  | 2–3 | |
|---|---|---|
| V. Ruci  | 
Report | Łukasik  Araszkiewicz Głombiowski  | 
| Internacionál Bratislava  | 2–3 | |
|---|---|---|
| Moravec  Weiss  | 
Report | Penev  | 
| Roda JC  | 2–0 | |
|---|---|---|
| Nando  Van Loen  | 
Report | 
| Borac Banja Luka  | 2–0 | |
|---|---|---|
| Lemić  Lipovac  | 
Report | 
| Sakaryaspor  | 2–0 | |
|---|---|---|
| Pešić  Yücel  | 
Report | 
| Dinamo București  | 3–0 | |
|---|---|---|
| Jäntti  Andone Vaișcovici  | 
Report | 
| Carl Zeiss Jena  | 5–0 | |
|---|---|---|
| Weber  Sträßer Merkel Ludwig  | 
Report | 
Second leg
Mechelen won 8–1 on aggregate.
| Eintracht Frankfurt  | 1–0 | |
|---|---|---|
| Bakalorz  | 
Report | 
Eintracht Frankfurt won 1–0 on aggregate.
| Cardiff City  | 4–0 | |
|---|---|---|
| McDermott  Gilligan  | 
Report | 
Cardiff City won 4–0 on aggregate.
AGF won 7–2 on aggregate.
Barcelona won 7–0 on aggregate.
Lech Poznań won 4–2 on aggregate.
| Sredets Sofia  | 5–0 | |
|---|---|---|
| Penev  Stoichkov Kostadinov Getov  | 
Report | 
Sredets Sofia won 8–2 on aggregate.
| Panathinaikos  | 2–0 | |
|---|---|---|
| Dimopoulos  Nielsen  | 
Report | 
Panathinaikos won 3–0 on aggregate.
| Vitória de Guimarães  | 1–0 | |
|---|---|---|
| Roldão  | 
Report | 
Roda JC won 2–1 on aggregate.
| Metalist Kharkiv  | 4–0 | |
|---|---|---|
| Tarasov  Adzhoyev Yesipov  | 
Report | 
Metalist Kharkiv won 4–2 on aggregate.
| Békéscsabai  | 1–0 | |
|---|---|---|
| Selçuk  | 
Report | 
Sakaryaspor won 2–1 on aggregate.
| Anderlecht  | 2–0 | |
|---|---|---|
| Krnčević  Van Tiggelen  | 
Report | 
Anderlecht won 5–1 on aggregate.
| Dundee United  | 1–0 | |
|---|---|---|
| Meade  | 
Report | 
Dundee United won 1–0 on aggregate.
| Kuusysi Lahti  | 0–3 | |
|---|---|---|
| Report | Vaișcovici  Kousa Răducioiu  | 
Dinamo București won 6–0 on aggregate.
| Kremser SC  | 1–0 | |
|---|---|---|
| Studeny  | 
Report | 
Carl Zeiss Jena won 5–1 on aggregate.
| Sampdoria  | 2–0 | |
|---|---|---|
| Salsano  Vialli  | 
Report | 
Sampdoria won 3–2 on aggregate.
Second round
| Team 1 | Agg. | Team 2 | 1st leg | 2nd leg | 
|---|---|---|---|---|
| Cardiff City  | 
1–6 | 1–2 | 0–4 | |
| Barcelona  | 
2–2 (5–4 p) | 1–1 | 1–1 (aet) | |
| Sredets Sofia  | 
3–0 | 2–0 | 1–0 | |
| Roda JC  | 
1–0 | 1–0 | 0–0 | |
| Eintracht Frankfurt  | 
6–1 | 3–1 | 3–0 | |
| Mechelen  | 
3–0 | 1–0 | 2–0 | |
| Dundee United  | 
1–2 | 0–1 | 1–1 | |
| Carl Zeiss Jena  | 
2–4 | 1–1 | 1–3 | 
First leg
| Cardiff City  | 1–2 | |
|---|---|---|
| Gilligan  | 
Report | Kristensen  | 
| Sredets Sofia  | 2–0 | |
|---|---|---|
| Stoichkov  Penev  | 
Report | 
| Roda JC  | 1–0 | |
|---|---|---|
| Van der Luer  | 
Report | 
| Eintracht Frankfurt  | 3–1 | |
|---|---|---|
| Sievers  Balzis Studer  | 
Report | Kemal  | 
| Mechelen  | 1–0 | |
|---|---|---|
| Wilmots  | 
Report | 
| Dundee United  | 0–1 | |
|---|---|---|
| Report | Mateuț  | 
Second leg
AGF won 6–1 on aggregate.
| Lech Poznań  | 1–1 (a.e.t.) | |
|---|---|---|
| Kruszczyński  | 
Report | Roberto  | 
| Penalties | ||
| Kruszczyński  Jakołcewicz Rzepka Araszkiewicz Pachelski Głombiowski Łukasik  | 
4–5 | |
2–2 on aggregate; Barcelona won 5–4 on penalties.
| Panathinaikos  | 0–1 | |
|---|---|---|
| Report | Penev  | 
Sredets Sofia won 3–0 on aggregate.
Roda JC won 1–0 on aggregate.
| Sakaryaspor  | 0–3 | |
|---|---|---|
| Report | Sievers  Binz Schulz  | 
Eintracht Frankfurt won 6–1 on aggregate.
| Anderlecht  | 0–2 | |
|---|---|---|
| Report | Koeman  Ohana  | 
Mechelen won 3–0 on aggregate.
| Dinamo București  | 1–1 | |
|---|---|---|
| Mateuț  | 
Report | Beaumont  | 
Dinamo București won 2–1 on aggregate.
| Sampdoria  | 3–1 | |
|---|---|---|
| Vierchowod  Toninho Cerezo Vialli  | 
Report | Raab  | 
Sampdoria won 4–2 on aggregate.
Quarter-finals
| Team 1 | Agg. | Team 2 | 1st leg | 2nd leg | 
|---|---|---|---|---|
| AGF  | 
0–1 | 0–1 | 0–0 | |
| Sredets Sofia  | 
3–3 (4–3 p) | 2–1 | 1–2 (aet) | |
| Eintracht Frankfurt  | 
0–1 | 0–0 | 0–1 | |
| Dinamo București  | 
1–1 (a) | 1–1 | 0–0 | 
First leg
| Sredets Sofia  | 2–1 | |
|---|---|---|
| Stoichkov  Kostadinov  | 
Report | Boerebach  | 
| Dinamo București  | 1–1 | |
|---|---|---|
| Vaișcovici  | 
Report | Vialli  | 
Second leg
Barcelona won 1–0 on aggregate.
| Roda JC  | 2–1 (a.e.t.) | |
|---|---|---|
| Haan  Van der Luer  | 
Report | Stoichkov  | 
| Penalties | ||
| Van der Luer  Hanssen Groenendijk Haan Boerebach  | 
3–4 | |
3–3 on aggregate; Sredets Sofia won 4–3 on penalties.
| Mechelen  | 1–0 | |
|---|---|---|
| Wilmots  | 
Report | 
Mechelen won 1–0 on aggregate.
1–1 on aggregate; Sampdoria won on away goals.
Semi-finals
| Team 1 | Agg. | Team 2 | 1st leg | 2nd leg | 
|---|---|---|---|---|
| Barcelona  | 
6–3 | 4–2 | 2–1 | |
| Mechelen  | 
2–4 | 2–1 | 0–3 | 
First leg
| Barcelona  | 4–2 | |
|---|---|---|
| Lineker  Amor Bakero Salinas  | 
Report | Stoichkov  | 
Second leg
Barcelona won 6–3 on aggregate.
Sampdoria won 4–2 on aggregate.
Final
| Barcelona  | 2–0 | |
|---|---|---|
| Salinas  López Rekarte  | 
Report | 
Top scorers
| Rank | Name | Team | Goals | 
|---|---|---|---|
| 1 | 7 | ||
| 2 | 6 | ||
| 3 | 5 | ||
| 5 | |||
| 5 | 4 | ||
| 4 | |||
| 4 | |||
| 4 | |||
| 9 | 3 | ||
| 3 | |||
| 3 | |||
| 3 | |||
| 3 |