Manchester City defeated Real Madrid 2-1 as they continue their Champions League campaign with a composed and ultimately deserved comeback victory at the Bernabéu. Pep Guardiola’s men extended a rivalry that has become one of the competition’s defining modern fixtures.
In a meeting heavy with narrative — from high-pressure scrutiny on Madrid boss Xabi Alonso to Pep Guardiola facing his former midfielder for the first time as a manager — it was City who showed maturity and discipline to secure three valuable points on Spanish soil.
Madrid, playing under the shadow of poor domestic form and growing unease over Alonso’s future, began with intent. They pressed with aggression, looked to break quickly against City’s high line and created enough early promise to encourage the home crowd.
But in a match full of swings in momentum, the Spanish giants found themselves outmanoeuvred by a City side that slowly tightened its grip on the contest.
For all the turbulence hovering over his role in the squad, it was Rodrygo who ignited the night.
The Brazilian — who had started just four matches under Alonso prior to this tie — struck with brilliance in the 28th minute, steering a precise effort into the bottom corner from a narrow angle.
His goal, celebrated as much with relief as joy, was the kind that momentarily shifts pressure from the manager to the pitch. As the home fans roared, the sense lingered that perhaps the forward’s first goal of the season might just have saved his manager’s job.
It wasn’t Madrid’s only warning shot. Five minutes before they scored, Vinícius Júnior had come close to producing a spectacular opener, lifting the ball just wide as he raced onto a pass and nudged it over the advancing Gianluigi Donnarumma.
For a team fighting to restore confidence, these attacking surges looked like the early foundation they desperately needed.
But as has become common in these high-stakes meetings, City absorbed the pressure, regrouped and struck back with a blend of calm execution and opportunism.
Their equaliser arrived through a player whose rise has been one of the stories of the season. Nico O’Reilly, demonstrating the poise and timing that have made him an increasingly trusted component of Guardiola’s evolving squad, reacted quickest inside the six-yard box to tap home from a corner.
The chance came after Josko Gvardiol forced a parry from Thibaut Courtois, who may feel he could have done more with the initial effort.
Regardless, O’Reilly’s first Champions League goal arrived at the perfect moment, restoring parity and shaking Madrid’s confidence.
From there, City’s sense of control sharpened. Their midfield shape tightened, their front line pressed more intelligently, and their transitions grew more threatening — a combination that soon forced Madrid into the kind of defensive lapse that has plagued their season.
Erling Haaland, who had barely touched the ball in the opening half-hour, took advantage. When Antonio Rüdiger clattered into him in the penalty area, the referee initially waved play on.
VAR intervened moments later, and the decision was reversed. Up stepped Haaland, typically clinical, sending Courtois the wrong way as Manchester City defeated Real Madrid 2-1
It was a goal executed with the cold assurance that has defined much of the Norwegian’s Champions League career.
For Madrid, frustration rapidly became the theme of the second half. Whatever confidence they carried into the break dissipated as City began to play with the authority expected from the fifteen times European champions.
Instead of protecting their slim advantage, City pushed for more — and forced Courtois into several vital saves.
Rayan Cherki struck low and forced the Belgian into a sharp stop. Haaland, drifting into dangerous pockets, threatened again, and Jeremy Doku’s velocity on the break stretched Madrid repeatedly.
Courtois kept the hosts alive almost single-handedly as City carved out openings that might have buried the contest early.
- Real Madrid legend predicts total destruction of Man City with unbelievable scoreline
- Guardiola fires up Man City players with challenge message before Madrid clash
Guardiola, perhaps with one eye on fixture congestion and another on tactical control, surprised many by withdrawing three of the match’s most dangerous players — Phil Foden, Cherki and Haaland — with 20 minutes still left.
The change briefly disrupted City’s rhythm, giving Madrid a sliver of hope, but their resurgence never truly materialised. City’s defensive structure held firm, anchored by a disciplined back line and a midfield that refused to be pulled out of position.
After full-time, attention briefly shifted to a subplot that had dominated the build-up — the absence of Kylian Mbappé, whose injury deprived the match of one of its marquee duels.
Haaland, speaking after Manchester City defeated Real Madrid 2-1, acknowledged the disappointment of not facing the French star.
“We know about their injuries. We expected Kylian to play, of course when a player like that doesn’t play, you’re not happy because you want to play vs the best, but of course it’s a boost,” he said per CityXtra
