Superb goals from Vinicius Junior and Kevin De Bruyne either side of half-time meant that spoils were shared at Santiago Bernabeu on Tuesday evening.
The draw sets up what promises to be an all-time great Champions League semi-final second leg at the Etihad Stadium next week.
Man City started the game brightly, capitalising on Real Madrid looking surprisingly nervy in possession. Kevin De Bruyne and Rodri both forced Thibaut Courtois into early saves with strikes from out of the penalty area, before some neat play on the flank from Jack Grealish would culminate in the England international finding Erling Haaland unmarked at the back post with a dinked cross. Haaland's subsequent header, however, was right down the throat of Courtois, who gathered comfortably.
Los Blancos would show their quality in the 25th minute when they were able to steal the ball off Rodri in the final third. After a quick shimmy on the left flank, Vinicius drilled a dangerous cross along the six-yard line which looked destined for the side of Karim Benzema's foot - and subsequently the back of the net obviously - but Ruben Dias was able to slide in at the last second to clear his lines.
They would show even more quality 10 minutes later when Vinicius provided a moment of sheer brilliance for Los Blancos. A wonderful sweeping move involving Luka Modric and Eduadro Camavinga culminated in the French starlet finding Vinicius 20-yards from goal. After controlling with his first touch, Vinicius unleashed a thunderous effort on goal which flew past Ederson and into the top left corner of the net.
A truly stunning goal.
Real Madrid brought the confidence gained from said goal into the second half, and began to really gain a foothold on proceedings. That foothold was almost culminate in yet another stunning goal in the 49th minute, when some brilliant interplay between Vinicius, Camavinga and Benzema on the left-side led to the latter forcing John Stones into a last ditch block to keep the score at 1-0.
A few minutes later, Man City came close to responding through De Bruyne. The Belgian was played clean through on goal by a quick ball over the top, but saw his resulting effort on goal saved by the strong right hand of Courtois in goal.
Despite being thoroughly outplayed and seemingly out of ideas for the next 15 minutes, it'd be City who'd bag the next goal through De Bruyne.
After being teed up by Ilkay Gundogan, the midfielder cannoned the ball brilliantly into the bottom left corner of the net with a first-time strike from 20-yards out. Perfect technique from basically the perfect footballer.
Keen to bag an all-important first leg win at home, Real Madrid pressed forward with intent in search for a second goal thereafter, and they almost got it in the 79th minute. The chance would fall to Benzema who peeled off at the back post to get his head on a pinpoint Toni Kroos set-piece delivery. His subsequent header however, was well saved by Ederson in the City goal.
Ederson was once again called into action 10 minutes later by substitute Aurelien Tchouameni, who saw a thunderous long-range effort palmed over the bar by Ederson.
Real Madrid player ratings
GK - Thibaut Courtois - 6/10 - Made a brilliant save to deny De Bruyne at the start of the second half.
RB - Dani Carvajal - 6/10 - Had a bit of a kicking and shoving match with Grealish for 90 minutes; something which suited Real Madrid more than it suited Man City.
CB - Antonio Rudiger - 7/10 - Matched Haaland physically.
CB - David Alaba - 6/10 - Pulled of a great tackle at the start of the second half. There was a reason Haaland didn't really go to his side too often.
LB - Eduardo Camavinga - 8/10 - Worked hard defensively and provided a lung-bursting run which led to the opening goal at the other end.
CM - Federico Valverde - 6/10 - Played a deeper-than-usual role and it did well.
CM - Toni Kroos - 5/10 - Decent on the ball but not quite got the legs anymore.
CM - Luka Modric - 8/10 - Another stunning performance from the 37-year-old.
RW - Rodrygo - 3/10 - He didn't do a massive amount to be honest.
ST - Karim Benzema - 6/10 - His clever movement caused Man City's defence a whole host of problems.
LW - Vinicius Junior - 9/10 - Scored a sublime goal. Truly sublime. Man City couldn't get near him all evening.
Substitutes
Marco Asensio - 5/10.
Aurelien Tchouameni - 5/10.
Nacho Fernandez - N/A.
Manager - Carlo Ancelotti - 6/10 - Put his best XI out there and they played pretty well. Playing Camavinga at left-back has been a masterstroke in recent months.
Man City player ratings
GK - Ederson - 6/10 - Made good saves to deny Benzema and Tchouameni late on.
CB - Kyle Walker - 4/10 - Drafted in to go toe-to-toe with Vinicius. It's fair to say Vinicius got the better of him.
CB - Ruben Dias - 6/10 - Pulled off a stunning, goal-saving, clearance in the 25th minute.
CB - Manuel Akanji - 6/10 - Pocketed Rodrygo for most of the game.
DM - John Stones - 6/10 - Worked his socks off to fill in the gaps defensively.
DM - Rodri - 6/10 - Had a few ropey moments in possession but battled hard out of it.
RM - Bernardo Silva - 4/10 - Not quite as effective as he was in the quarter-final first leg.
CM - Kevin De Bruyne - 9/10 - Scored a superb goal when City looked devoid of ideas.
CM - Ilkay Gundogan - 6/10 - Teed up KDB for the equaliser.
LM - Jack Grealish - 2/10 - He let Carvajal get the better of him on the night. A poor outing at both ends of the pitch.
ST - Erling Haaland - 4/10 - Rudiger and Alaba kept him eerily quiet.
Substitutes
None.
Manager - Pep Guardiola - 5/10 - Perhaps made a point to his players by not making a single substitution in the game. It probably wasn't the best idea though as City looked super leggy late on.
Man of the match: Vinicius Junior
This article was originally published on 90min as Real Madrid 1-1 Man City: Player ratings as De Bruyne and Vinicius score stunning goals in semi-final.