Manchester City recovered from a goal down to deliver a magnificent Champions League victory at perennial winners Real Madrid and leave the La Liga side’s manager Xabi Alonso precariously holding on to his job.
Alonso is under severe pressure following a poor run in the league and a reported clash of culture with his players, and the heat will now crank up after Real failed to hold on to their early advantage.
The hosts suffered a blow as leading goalscorer Kylian Mbappe was deemed only fit enough to be on the bench, but the France captain did not make an appearance as his team-mates fell to a demoralising defeat.
City almost suffered a nightmare start when Matheus Nunes tripped Vinicius Jr inside the first two minutes and the referee pointed to the spot, but then awarded a free-kick on the edge of the box after consultation with the video assistant referee (VAR).
Federico Valverde almost converted the resulting effort but his drilled shot deflected narrowly wide, while the sprightly Vinicius dinked wide at the far post shortly after.
It seemed like City had weathered the early storm and were controlling the possession, before being hit on the break as Rodrygo collected Jude Bellingham’s cross-field pass and rifled in his first goal since March.
City were behind for just seven minutes as the visitors scored with their first clear opportunity of the contest, academy left-back Nico O’Reilly poking home from close range after Josko Gvardiol’s header was scooped back into the danger zone by Thibaut Courtois.
The English side turned the game around on the stroke of half-time courtesy of Erling Haaland’s penalty after the striker was bundled over in the box by Antonio Rudiger.
Real attempted to draw level in the second half, with Bellingham chipping over and substitute Endrick flicking a header which clipped the crossbar, but City held on for a tremendous victory.
Manchester City analysis: Guardiola’s men keep cool in cauldron
Real and City have become familiar foes in the Champions League, defining this particular era of the competition by facing each other for the 15th time and the fifth consecutive campaign.
City faced a hostile Real crowd which made their feelings known before kick-off, jeering and whistling ex-Barcelona boss Pep Guardiola’s name when it was read out by the stadium announcer.
But the Spaniard and his side will be highly satisfied in gaining a measure of revenge following their play-off stage defeat here in February, with Guardiola now losing only seven of his 28 meetings against Real.
City started nervously in the Spanish capital and went behind but showed excellent character in the cauldron of the Bernabeu to recover, keep their cool and see out the contest.
Academy product O’Reilly never seems to put a foot wrong and scored a dream equaliser to drag his side back into the contest on 35 minutes, while defensively he won three tackles and contributed four important clearances.
The ever-reliable Haaland made no mistake with his penalty to score his 55th Champions League goal, with no player managing more since his debut in the competition for RB Salzburg in 2019.
Jeremy Doku could have made it a more comfortable scoreline but saw his low shot pushed wide by Courtois at full stretch, and ultimately it did not matter.
City recovered from their shock defeat by Bayer Leverkusen last time out and climb to fourth in the table, while they will be confident of claiming an all-important top-eight place with matches to come against Bodo/Glimt and Galatasaray.
