At home, Real Madrid took the initiative and quickly made a difference in the 28th minute. Rodrygo ended a run of shots in official competitions since March with a smart run and a classy cross-angle shot after an assist from Jude Bellingham.
It seemed that the opening goal would help the home team play more excitedly, but Real suddenly slowed down and let Man City equalize from a set piece in the 35th minute. Thibaut Courtois made an excellent save from Josko Gvardiol's close-range header, but was helpless against Nico O'Reilly's rebound.
At the end of the first half, disaster hit Los Blancos when Antonio Rudiger made a mistake that led to a penalty. From 11m away, Erling Haaland fired a cool shot, putting the away team ahead 2-1.
Entering the second half, Real tried to rise up and created a clear opportunity to equalize. In the 51st minute, Bellingham escaped to face the goalkeeper but unfortunately kicked the ball out.
Although Kylian Mbappe has been registered, coach Xabi Alonso still decided not to use him. Instead, he put his faith in Arda Guler, but the young Turkish talent once again played poorly in the big match.
In the final minutes, Endrick was unexpectedly given a chance and immediately left his mark with a dangerous header. Man City's defense was defeated but the ball found its way to the post.
The match ended with Man City's first win in 2 years against Real Madrid. This result caused Alonso and his team to fall to 7th place.
Jose Mourinho's final two matches against Monaco and Benfica will decide Real's ticket to the next round in the Champions League. The La Liga representative is not allowed to make more mistakes if he wants to keep his position in the knockout round.
Results of some other notable matches in the Champions League:
Villarreal 23 FC Copenhagen
Qarabag 24 Ajax
Juventus 2-0 Pafos FC
Benfica 2'0 Napoli
Club Brugge 03 Arsenal
Athletic Club 00 Paris Saint-Germain
Leverkusen 22 Newcastle
Dortmund 2'2 Bodo/Glimt