OrcaScore
Upset index

UEFA Champions League upset index

Including the years before odds: the biggest upsets in history, the most chaotic seasons and the giant killers by our learning Elo model's pre-match probabilities. Index 100 = as many upsets as expected.

Matches with a clear favourite
4,459
Upsets
1,113
Upset rate
25.0%
Upset index
119

Filters

Model data: 2,476,630 matches with a clear favourite between 26 Apr 1970 and 7 Nov 2026 (learning Elo, pre-match state).

Biggest upsets

By the winner's pre-match chance (Elo model) — lowest first

  1. UEFA Champions League GNK Dinamo Zagreb2 SV Werder Bremen3 Winner's pre-match chance 7.1%
  2. UEFA Champions League Benfica2 Qarabağ FK3 Winner's pre-match chance 7.4%
  3. UEFA Champions League Manchester City1 Olympique Lyonnais2 Winner's pre-match chance 8.4%
  4. UEFA Champions League Rangers0 VfB Stuttgart2 Winner's pre-match chance 8.9%
  5. UEFA Champions League PSV Eindhoven1 Girondins de Bordeaux3 Winner's pre-match chance 9.0%
  6. UEFA Champions League Inter3 Club Brugge KV4 Winner's pre-match chance 10%
  1. FC Porto 0–4 Club Brugge KV UEFA Champions League · 13 Sep 2022 10%
  2. RSC Anderlecht 1–2 SV Werder Bremen UEFA Champions League · 13 Apr 1994 10%
  3. Celtic 0–1 RSC Anderlecht UEFA Champions League · 5 Dec 2017 10%
  4. HŠK Zrinjski Mostar 2–3 Urartu UEFA Champions League · 18 Jul 2023 · Penalties 4–3 11%
  5. RSC Anderlecht 1–4 Leeds United UEFA Champions League · 21 Feb 2001 11%
  6. GNK Dinamo Zagreb 1–2 Olympique de Marseille UEFA Champions League · 22 Sep 1999 11%
  7. Basel 2–3 AS Roma UEFA Champions League · 3 Nov 2010 11%
  8. Valencia 0–3 AS Roma UEFA Champions League · 26 Feb 2003 11%
  9. Dinamo Tbilisi 0–1 FK Aktobe UEFA Champions League · 16 Jul 2014 11%
  10. Hapoel Tel Aviv 1–3 Olympique Lyonnais UEFA Champions League · 29 Sep 2010 11%
  11. Manchester City 1–3 Olympique Lyonnais UEFA Champions League · Quarterfinals · 15 Aug 2020 11%
  12. Manchester City 1–2 Basel UEFA Champions League · Round of 16 · 7 Mar 2018 12%
  13. Dynamo Kyiv 1–2 Borussia M'gladbach UEFA Champions League · 29 Aug 2012 12%
  14. GNK Dinamo Zagreb 1–3 Shakhtar Donetsk UEFA Champions League · 27 Aug 2008 12%
  15. Arsenal 1–2 AJ Auxerre UEFA Champions League · 22 Oct 2002 13%
  16. Debreceni VSC 3–4 Fiorentina UEFA Champions League · 20 Oct 2009 13%
  17. RB Leipzig 0–2 Olympique Lyonnais UEFA Champions League · 2 Oct 2019 13%
  18. RB Leipzig 1–2 Club Brugge KV UEFA Champions League · 28 Sep 2021 13%
  19. FC Kairat Almaty 2–1 FK Crvena zvezda UEFA Champions League · 21 Jul 2021 13%
  20. AS Trenčín 2–3 NK Olimpija Ljubljana UEFA Champions League · 20 Jul 2016 13%
  21. Basel 1–2 FC Bayern München UEFA Champions League · 28 Sep 2010 13%
  22. Real Madrid 3–4 FC Schalke 04 UEFA Champions League · Round of 16 · 10 Mar 2015 13%
  23. FC Zürich 0–1 Olympique de Marseille UEFA Champions League · 21 Oct 2009 13%
  24. Manchester United 0–1 Beşiktaş JK UEFA Champions League · 25 Nov 2009 13%
  25. FC Bayern München 0–2 Arsenal UEFA Champions League · Round of 16 · 13 Mar 2013 13%
  26. Liverpool FC 0–1 Olympique de Marseille UEFA Champions League · 3 Oct 2007 14%
  27. Galatasaray 0–1 Royale Union Saint-Gilloise UEFA Champions League · 25 Nov 2025 14%
  28. Zenit St. Petersburg 1–2 Club Brugge KV UEFA Champions League · 20 Oct 2020 14%
  29. LASK 0–1 Club Brugge KV UEFA Champions League · 20 Aug 2019 14%
  30. Arsenal 2–3 Olympiacos FC UEFA Champions League · 29 Sep 2015 14%
  31. FC Zürich 2–5 Real Madrid UEFA Champions League · 15 Sep 2009 14%
  32. SV Werder Bremen 2–1 GNK Dinamo Zagreb UEFA Champions League · 15 Aug 2007 15%
  33. PSV Eindhoven 1–2 AS Monaco UEFA Champions League · 17 Sep 2003 15%
  34. Galatasaray 0–1 Borussia Dortmund UEFA Champions League · 17 Sep 1997 15%

UEFA Champions League: by season

The most chaotic and most predictable seasons

Giant killers

Win more than expected as the underdog

Giant killers
Team Underdog wins Expected Index
Real Madrid 48/100 25.5 196
Olympique Lyonnais 37/92 21.2 180
FC Barcelona 31/78 20.2 160
Fiorentina 8/18 3.9 156
Paris Saint-Germain 24/64 15.8 155
Chelsea 22/55 14.5 154
FC Schalke 04 16/47 10.1 154
FC Bayern München 29/82 20.4 151
Legia 8/18 4.3 150
AC Milan 32/96 23.3 148

Upset victims

Lose more than expected as the favourite

Upset victims
Team Losses as favourite Expected Index
RSC Anderlecht 15/28 6.9 183
Dinamo Tbilisi 7/11 2.3 172
FCSB 21/48 11.9 171
The New Saints 12/27 5.9 168
Rangers 19/48 10.8 168
GNK Dinamo Zagreb 24/65 15.4 158
Debreceni VSC 6/10 2.3 158
AC Sparta Praha 20/49 13.0 155
FC Zürich 6/11 2.5 154
Brøndby IF 5/7 1.8 153
How is it calculated?
  • Probability: From pre-match 1X2 (or two-way) odds, with the bookmaker margin removed proportionally: p = (1/odds) / Σ(1/odds). The same formula as the stats hub's “upsets by odds” block.
  • Clear favourite and upset: Only matches with at least a 10-point gap between the home and away win probabilities count; if the favourite's opponent wins, it is an upset. Draws are not upsets. Winner's chance of 25% or less = big upset.
  • Ranking: The lower the winner's pre-match chance, the bigger the upset (surprise score = 100 × (1 − chance)).
  • Index: 100 × (actual upsets + 5) / (expected upsets + 5); expected = sum of the underdogs' win probabilities. The +5 pulls small samples towards 100. Teams have two directions: giant killing (winning as the underdog) and fragility (losing as the favourite).
  • Calibration: Expected values are scaled by the source's overall hit factor (0.86 in this view), so a systematic bias of the source does not shift every league the same way.
  • Historical (model): For past matches without odds, the probability comes from our learning Elo model replaying the full history chronologically and taking its state before the match (both teams need at least 15 matches; friendlies excluded). Never mixed with odds.