Analysis

Champions League Round of 32 Recap: Shocks, Comebacks, and a Model Under Pressure

The 2025-26 UEFA Champions League Round of 32 is in the books, and what a spectacle it was. Across 15 matches played between February 17 and 25, we witnessed 60 goals — an average of four per game — along with jaw-dropping comebacks, a fairytale run from the Arctic Circle, and one of the most dramatic aggregate ties in recent Champions League memory.

Champions League Round of 32 Recap: Shocks, Comebacks, and a Model Under Pressure

Champions League Round of 32 Recap: Shocks, Comebacks, and a Model Under Pressure

February 26, 2026 — Scoresfooty Match Report

Sixty-four goals. Sixteen matches. Four away wins nobody saw coming. The 2025-26 Champions League Round of 32 delivered an average of four goals per game, a Cinderella run from above the Arctic Circle, and an extra-time thriller that ended 7-5 on aggregate. Our Poisson-based prediction model went in armed with expected goals and scoreline distributions. It came out needing recalibration.

Here’s the full breakdown — what happened, what we called correctly, what we missed badly, and who’s heading to the quarterfinals.


First Legs — February 17-18

Galatasaray 5-2 Juventus (Feb 17)

Rams Park was a cauldron. Trailing 1-2 at halftime, Galatasaray erupted — four second-half goals, wave after wave of attacking pressure, Juventus unable to cope with the tempo shift after the break. The model flagged this as a marginal home lean at 45.67%, xG of 1.79 vs 1.44. It got the winner right. It got nothing else right. The top predicted scoreline was 1-1 at 10.24%. The actual scoreline belonged to a different sport.

Prediction: Home Win ✓ (but wildly underestimated the margin)

Monaco 2-3 Paris Saint Germain (Feb 17)

Monaco led 2-0 at the Stade Louis II. PSG won 3-2. What happened in between was a second-half tactical shift — Paris tightened the midfield press, forced Monaco deeper, and converted three times while conceding nothing after the break. The model had Monaco as slight favourites at 40.08% versus PSG’s 36.40%. That 3.7-point gap papered over a fundamental problem: the model treats the Riviera derby like a neutral fixture when it’s anything but.

Prediction: Home Win ✗ (PSG won away)

Borussia Dortmund 2-0 Atalanta (Feb 17)

The cleanest prediction of the round. Dortmund were clinical — two goals by halftime, nothing conceded — and Signal Iduna Park’s Yellow Wall did the rest. The model backed the home side at 54.10% with an xG edge of 1.71 to 0.99. The actual 2-0 scoreline appeared in our top five at 9.85%. When the data and the football align this neatly, it’s worth noting — because it didn’t happen often this week.

Prediction: Home Win ✓

Benfica 0-1 Real Madrid (Feb 17)

The Estádio da Luz expected a siege. The model agreed — 45.78% Benfica, top predicted scoreline of 4+ home goals. What arrived instead was peak knockout-stage Madrid: a low block, measured possession, and a single decisive strike. One goal. One away win. The kind of result that exposes a limitation in Poisson modelling: it projects volume, not game management. Madrid didn’t need volume.

Prediction: Home Win ✗ (Real Madrid won away)

Qarabag 1-6 Newcastle (Feb 18)

The model’s worst call of the round, and it wasn’t close. Qarabag were listed as 50.85% favourites at the Tofiq Bahramov Stadium. Newcastle’s xG was pegged at 1.43. Five first-half goals later, the scoreboard read 0-5. Final: 1-6. The problem here was structural, not incidental. The model weighted home advantage without adjusting for the quality gap between a Premier League side in peak form and an Azerbaijani team playing above their level. Home advantage means nothing when the visitors are three tiers better.

Prediction: Home Win ✗✗ (catastrophically wrong)

Bodø/Glimt 3-1 Inter (Feb 18)

This is where the tournament’s great story began. Bodø/Glimt, playing on their frozen artificial pitch at the Aspmyra Stadion, were one of only two teams the model tipped to lose at home — Inter given 49.93%. But Glimt absorbed an early Inter goal, equalised before the break, then controlled the second half with direct, aggressive transitions that Inter’s high line couldn’t handle. The Norwegian side won 3-1. Nobody in the model’s top five predicted scorelines saw it coming.

Prediction: Away Win ✗ (Bodø/Glimt won at home)

Olympiakos 0-2 Bayer Leverkusen (Feb 18)

Leverkusen put the tie to bed early. A controlled 2-0 win gave a cushion that would make the second leg a non-event — and they knew it.

Prediction: Home Win ✓

Club Brugge 3-3 Atletico Madrid (Feb 18)

Six goals. Zero predicted draws. The Jan Breydel produced exactly the result our model is structurally incapable of forecasting. Atletico raced to 0-2, Brugge clawed back to 3-2 with set-piece dominance and pressing intensity, then Simeone’s side salvaged a late 3-3. The model had Brugge at 52.63% with draw probability at just 23.28%. Three Atletico goals away from home gave them a significant cushion heading into the return.

Prediction: Home Win ✗ (Draw)


Second Legs — February 24-25

Atletico Madrid 4-1 Club Brugge (Feb 24)

Simeone’s Atletico at the Metropolitano with a job to finish. The model’s strongest correct call of the round — 62.17% home win, xG of 2.24 vs 1.13 — and reality matched almost exactly. Brugge levelled at 1-1 by halftime, but Atletico scored three in the second half, suffocating Brugge’s build-up play with the kind of organised pressing that turns the Metropolitano into a trap. Aggregate: 7-4.

Prediction: Home Win ✓

Newcastle 3-2 Qarabag (Feb 24)

The formality. Newcastle were 77.40% favourites at St James’ Park — the round’s highest confidence prediction — and delivered accordingly. Qarabag showed more fight than in the first leg, pulling it back to 3-2, but the tie was over before it started. Aggregate: 9-3. Nine goals scored across two legs, the most prolific attacking output in this round of the tournament.

Prediction: Home Win ✓

Bayer Leverkusen 0-0 Olympiakos Piraeus (Feb 24)

With a 2-0 first-leg cushion, Xabi Alonso’s side treated the BayArena return as an exercise in game management. Olympiakos needed two goals and rarely looked like getting one. The 0-0 was professional, controlled, and entirely logical — except to our model, which projected an xG of 1.80 for Leverkusen and gave over 2.5 goals a 59.26% probability. The model doesn’t account for teams that choose not to attack. A side protecting a two-goal lead with nothing to gain by pressing forward will produce exactly this kind of sterile result. Aggregate: 2-0 Leverkusen.

Prediction: Home Win ✗ (Draw, 0-0)

Inter 1-2 Bodø/Glimt (Feb 24)

If the first leg was a surprise, this was a statement. Bodø/Glimt went to the San Siro — 80,000 seats, the weight of European history in every column — and won. Again. The model gave Inter a 59.02% chance, with 4+ Inter goals as the most likely scoreline at 20.44%. Instead, Glimt held firm through a goalless first half, then struck twice with the same direct counter-attacking that had undone Inter in Norway. Aggregate: 5-2 Bodø/Glimt. A team with a squad value a fraction of Inter’s, playing in a league that shuts down for winter, going through with back-to-back wins against a Serie A giant.

Prediction: Home Win ✗ (Bodø/Glimt won away at the San Siro)

Atalanta 4-1 Borussia Dortmund (Feb 25)

The comeback of the round. Trailing 0-2 from the first leg, Atalanta needed a near-miracle at the New Balance Arena. Gasperini’s response was to push both wing-backs higher than Dortmund’s wide midfielders, overloading the flanks and creating a 2v1 advantage on both sides that Dortmund never solved. Two goals before halftime levelled the aggregate. Two more after the break killed the tie. The model gave Atalanta a 60.69% chance of winning the match — it correctly sensed the home advantage, but the scale of the tactical adjustment was beyond anything xG can capture. Aggregate: 4-3 Atalanta.

Prediction: Home Win ✓

Paris Saint Germain 2-2 Monaco (Feb 25)

PSG were 64.60% favourites at the Parc des Princes, the round’s second-strongest home prediction. Monaco led 1-0 at halftime. PSG rallied to 2-2 but couldn’t find the winner their model probability suggested they should. The draw was enough — first-leg advantage held, aggregate 5-4 — but this was another match that exposed the model’s draw blind spot. With 17.92% assigned to a draw, the model treated it as a fringe outcome. In knockout football, where away sides park the bus with a one-goal deficit, draws are anything but fringe.

Prediction: Home Win ✗ (Draw)

Juventus 3-2 Galatasaray (after extra time) (Feb 25)

The tie of the round. Down 2-5 from the first-leg carnage, Juventus produced a controlled, disciplined 90 minutes at the Allianz Stadium — three goals, none conceded, the aggregate dragged back to 5-5. The model’s 47.30% home-win call was vindicated in regular time. Then came extra time. Galatasaray, who had barely threatened all evening, found space on the counter as Juventus pushed for the kill. Two goals. 7-5 on aggregate. Twelve goals across 210 minutes of football. The Turkish side advance with one of the most extraordinary two-legged performances in recent Champions League history — and a reminder that aggregate ties in a post-away-goals-rule era produce a different kind of drama.

Prediction: Home Win ✓ (regular time), but Galatasaray won the war

Real Madrid 2-1 Benfica (Feb 25)

The Bernabéu. A one-goal first-leg lead to protect. Benfica equalised to make it 1-1 at halftime, momentarily levelling the aggregate. Madrid’s response was typically measured — increased control of possession in the second half, a decisive goal, and a defensive shape that invited pressure only in areas where Benfica couldn’t hurt them. Aggregate: 3-1. The model’s 58.63% home win probability was its most accurate call of the week.

Prediction: Home Win ✓


Prediction Scorecard

Match Result Accuracy: 8 out of 16 (50%)

Category Predicted Actual
Home Wins 15 9
Away Wins 1 4
Draws 0 3

These numbers tell a clear story. The model predicted 15 home wins out of 16 matches. Nine happened. It predicted zero draws. Three occurred. This isn’t bad luck — it’s a calibration problem. The Poisson distribution generates outcome probabilities based on xG, but the three-way split between home win, draw, and away win is being distorted by an over-weighted home multiplier. When 94% of your predictions fall into one category and that category only materialises 56% of the time, the distribution needs fundamental adjustment.

Over/Under 2.5 Goals: ~75% Accuracy

The xG engine told a different story in the goals market. Roughly three-quarters of matches landed over 2.5 goals, matching the model’s expectations. The misses were specific and instructive: Benfica 0-1 Real Madrid (game management suppressed volume), Dortmund 2-0 Atalanta (early lead killed the match), and Leverkusen 0-0 Olympiakos (a team actively choosing not to attack). In each case, the model couldn’t account for tactical context — teams that change their approach based on the state of the tie.

The Deeper Problem

The first legs were brutal: three of eight correct. The second legs recovered to five of eight. Why the gap? In the first legs, home advantage is uncertain — both teams are probing, neither has aggregate context to shape their approach. By the second leg, the team ahead often plays conservatively while the team behind pushes forward, creating more predictable dynamics. The model doesn’t distinguish between these game states. A Leverkusen protecting a 2-0 lead and a Leverkusen chasing a deficit are treated identically. They shouldn’t be.

The away-win blind spot is equally structural. Four away wins occurred; the model predicted one. Newcastle’s 6-1 demolition in Baku, Real Madrid’s 1-0 in Lisbon, PSG’s 3-2 in Monaco, and Bodø/Glimt’s extraordinary 2-1 at the San Siro — each driven by a different mechanism (quality gap, tactical discipline, second-half adjustment, counter-attacking plan) but unified by the same modelling failure: home advantage was overvalued relative to squad quality and form.


Who Goes Through, Who Goes Home

The Quarterfinal Eight

Team Opponent Aggregate How They Did It
Newcastle Qarabag 9-3 Total dominance from start to finish
Real Madrid Benfica 3-1 Clinical efficiency across both legs
Bodø/Glimt Inter 5-2 The fairytale continues — beat Inter home AND away
Atalanta Borussia Dortmund 4-3 Epic comeback — overturned 0-2 with a 4-1 second leg
Atletico Madrid Club Brugge 7-4 Survived a wild first leg, dominated the second
Paris Saint Germain Monaco 5-4 Edged the Riviera derby across two tense legs
Galatasaray Juventus 7-5 (aet) 5-2 first leg, then two ET goals in Turin to seal it
Bayer Leverkusen Olympiakos 2-0 Won the first leg 2-0, managed the second to a 0-0 draw

Eliminated

Qarabag, Benfica, Inter, Borussia Dortmund, Club Brugge, Monaco, Juventus, and Olympiakos all exit the competition.


Final Thoughts

Bodø/Glimt — a team from a city above the Arctic Circle with a population of 50,000 — knocked out Inter Milan with back-to-back wins, including one at the San Siro. Atalanta overturned a two-goal first-leg deficit by redesigning their entire pressing structure in 72 hours. Galatasaray scored twelve goals across 210 minutes, including two in extra time in Turin to break Juventus at 7-5.

The model captured the broad shape of this round — high-scoring, home-leaning, chaotic — but the fine structure escaped it. The home-advantage multiplier needs recalibrating against squad-quality differentials. The draw probability needs its own calibration layer, separate from the Poisson distribution. And knockout-stage game state — whether a team is protecting a lead or chasing one — needs to feed into the model as a variable, not be ignored entirely.

Eight quarterfinalists confirmed. Eight teams heading home. And if this round was anything to go by, the quarters will be just as wild.

All predictions generated by Scoresfooty’s Poisson-based xG model. Data sourced from fixture results and predicted scoreline distributions.