1955–56 | Real Madrid | 4–3 | Stade Reims | Parc des Princes | France, Paris Paris, France |
1956–57 | Real Madrid | 2–0 | Fiorentina | Santiago Bernabéu | Spain, Madrid Madrid, Spain |
1957–58 | Real Madrid | †3–2 † | Milan | Heysel Stadium | Belgium, Brussels Brussels, Belgium |
1958–59 | Real Madrid | 2–0 | Stade Reims | Neckarstadion | Germany, Stuttgart Stuttgart, Germany |
1959–60 | Real Madrid | 7–3 | Eintracht Frankfurt | Hampden Park | Scotland, Glasgow Glasgow, Scotland |
1960–61 | Benfica | 3–2 | Barcelona | Wankdorf Stadium | Switzerland, Berne Berne, Switzerland |
1961–62 | Benfica | 5–3 | Real Madrid | Olympisch Stadion | Netherlands, Amsterdam Amsterdam, Netherlands |
1962–63 | Milan | 2–1 | Benfica | Wembley Stadium | England, London London, England |
1963–64 | Internazionale | 3–1 | Real Madrid | Prater Stadium | Austria, Vienna Vienna, Austria |
1964–65 | Internazionale | 1–0 | Benfica | San Siro | Italy, Milan Milan, Italy |
1965–66 | Real Madrid | 2–1 | Partizan | Heysel Stadium | Belgium, Brussels Brussels, Belgium |
1966–67 | Celtic | 2–1 | Internazionale | Estádio Nacional | Portugal, Lisbon Lisbon, Portugal |
1967–68 | Manchester United | †4–1 † | Benfica | Wembley Stadium | England, London London, England |
1968–69 | Milan | 4–1 | Ajax | Santiago Bernabéu | Spain, Madrid Madrid, Spain |
1969–70 | Feyenoord | †2–1 † | Celtic | San Siro | Italy, Milan Milan, Italy |
1970–71 | Ajax | 2–0 | Panathinaikos | Wembley Stadium | England, London London, England |
1971–72 | Ajax | 2–0 | Internazionale | De Kuip | Netherlands, Rotterdam Rotterdam, Netherlands |
1972–73 | Ajax | 1–0 | Juventus | Red Star Stadium | Yugoslavia, Belgrade Belgrade, Yugoslavia |
1973–74 | Bayern Munich | 1–1 | Atlético Madrid | Heysel Stadium | Brussels, Belgium Brussels, Belgium |
1973–74 (R) | Bayern Munich | 4–0 | Atlético Madrid | Heysel Stadium | Brussels, Belgium Brussels, Belgium |
1974–75 | Bayern Munich | 2–0 | Leeds United | Parc des Princes | France, Paris Paris, France |
1975–76 | Bayern Munich | 1–0 | Saint-Étienne | Hampden Park | Scotland, Glasgow Glasgow, Scotland |
1976–77 | Liverpool | 3–1 | Borussia Mönchengladbach | Stadio Olimpico | Italy, Rome Rome, Italy |
1977–78 | Liverpool | 1–0 | Club Brugge | Wembley Stadium | England, London London, England |
1978–79 | Nottingham Forest | 1–0 | Malmö FF | Olympiastadion | Germany, Munich Munich, Germany |
1979–80 | Nottingham Forest | 1–0 | Hamburg | Santiago Bernabéu | Spain, Madrid Madrid, Spain |
1980–81 | Liverpool | 1–0 | Real Madrid | Parc des Princes | France, Paris Paris, France |
1981–82 | Aston Villa | 1–0 | Bayern Munich | De Kuip | Netherlands, Rotterdam Rotterdam, Netherlands |
1982–83 | Hamburg | 1–0 | Juventus | Olympic Stadium | Greece, Athens Athens, Greece |
1983–84 | Liverpool | *1–1 * | Roma | Stadio Olimpico | Italy, Rome Rome, Italy |
1984–85 | Juventus | 1–0 | Liverpool | Heysel Stadium | Belgium, Brussels Brussels, Belgium |
1985–86 | Steaua Bucureşti | *0–0 * | Barcelona | Estadio Ramón Sánchez Pizjuán | Spain, Seville Seville, Spain |
1986–87 | Porto | 2–1 | Bayern Munich | Prater Stadium | Austria, Vienna Vienna, Austria |
1987–88 | PSV Eindhoven | *0–0 * | Benfica | Neckarstadion | Germany, Stuttgart Stuttgart, Germany |
1988–89 | Milan | 4–0 | Steaua Bucureşti | Camp Nou | Spain, Barcelona Barcelona, Spain |
1989–90 | Milan | 1–0 | Benfica | Prater Stadium | Austria, Vienna Vienna, Austria |
1990–91 | Red Star Belgrade | *0–0 * | Marseille | Stadio San Nicola | Italy, Bari Bari, Italy |
1991–92 | Barcelona | †1–0 † | Sampdoria | Wembley Stadium | England, London London, England |
1992–93 | Marseille | 1–0 | Milan | Olympiastadion | Germany, Munich Munich, Germany |
1993–94 | Milan | 4–0 | Barcelona | Olympic Stadium | Greece, Athens Athens, Greece |
1994–95 | Ajax | 1–0 | Milan | Ernst-Happel-Stadion | Austria, Vienna Vienna, Austria |
1995–96 | Juventus | *1–1 * | Ajax | Stadio Olimpico | Italy, Rome Rome, Italy |
1996–97 | Borussia Dortmund | 3–1 | Juventus | Olympiastadion | Germany, Munich Munich, Germany |
1997–98 | Real Madrid | 1–0 | Juventus | Amsterdam ArenA | Netherlands, Amsterdam Amsterdam, Netherlands |
1998–99 | Manchester United | 2–1 | Bayern Munich | Camp Nou | Spain, Barcelona Barcelona, Spain |
1999–2000 | Real Madrid | 3–0 | Valencia | Stade de France | France, Paris Paris, France |
2000–01 | Bayern Munich | *1–1 * | Valencia | San Siro | Italy, Milan Milan, Italy |
2001–02 | Real Madrid | 2–1 | Bayer Leverkusen | Hampden Park | Scotland, Glasgow Glasgow, Scotland |
2002–03 | Milan | *0–0 * | Juventus | Old Trafford | England, Manchester Manchester, England |
2003–04 | Porto | 3–0 | Monaco | Arena AufSchalke | Germany, Gelsenkirchen Gelsenkirchen, Germany |
2004–05 | Liverpool | *3–3 * | Milan | Atatürk Olympic Stadium | Turkey, Istanbul Istanbul, Turkey |
2005–06 | Barcelona | 2–1 | Arsenal | Stade de France | France, Paris Paris, France |
2006–07 | Milan | 2–1 | Liverpool | Olympic Stadium | Greece, Athens Athens, Greece |
2007–08 | Manchester United | *1–1 * | Chelsea | Luzhniki Stadium | Russia, Moscow Moscow, Russia |