Manchester City earned a dramatic 2-1 win over 10-man Real Madrid on Wednesday in the first leg of the 2020 UEFA Champions League last 16 at the Santiago Bernabeu Stadium.
Isco broke the deadlock for Real on 59 minutes after multiple errors in City's defence, with the goal coming against the run of play.
City composed themselves and produced a comeback when Gabriel Jesus headed home an equaliser with 12 minutes to spare.
Dani Carvajal then brought down Raheem Sterling in the box for an 83rd-minute penalty, with Kevin De Bruyne making no mistake from the spot.
Sergio Ramos was shown a straight red for denying Jesus a goalscoring opportunity with four minutes remaining, and Madrid collapsed at the end as City turned on the style.
The Premier League champions set up defensively for the first leg, with Sergio Aguero and Sterling both starting on the bench.
City were happy to keep the ball in their own half, despite the vocal disapproval of the Santiago Bernabeu Stadium crowd. However, Pep Guardiola's men appeared comfortable and relaxed in their ambition of frustrating Los Blancos.
There was disappointment for City defender Aymeric Laporte, with the Frenchman suffering an injury and forced off after just 33 minutes, but City continued to contain Madrid with relative ease.
The Sky Blues showed more intent after half-time, and Riyad Mahrez's curling shot narrowly missed the top corner.
City appeared to be in the ascendency and ready to pounce, but a spell of defensive errors allowed the hosts to score.
Vinicius beat Kyle Walker to the ball as the visitors failed to retain possession. The Real forward squared a pass to Isco, who took the opportunity to fire past Ederson. The momentum temporarily built for Real, and Ramos should have scored when he lashed an effort over the bar.
City's composure seemed to have fall off, and Guardiola's game plan appeared dented, prompting the Catalan to bring on Sterling.
Zidane quickly responded by swapping Vinicius for Bale, but Sterling's impact was immediate as he combined with De Bruyne. The Belgian's cross sailed over Ramos, and Jesus was waiting in the six-yard box for a simple header. VAR confirmed there was no foul on Ramos during the pass.
Real suddenly appeared anxious and bewildered, and their opponents wrestled control of the game in the closing stages.
Sterling was involved once again as he beat Carvajal, and the left-back fouled the England international for a penalty. De Bruyne was cool and calm as he found the bottom corner against Belgium team-mate Thibaut Courtois.
The Bernabeu atmosphere was extinguished as Ramos was sent off for a foul on Jesus, and Guardiola's men collected a vital win to take back to Manchester.
Both teams feature in important encounters on Sunday. Los Blancos welcome Barcelona in La Liga, while the Sky Blues take on Aston Villa in the Carabao Cup final at Wembley Stadium. City host Madrid in the second leg of their Champions League tie on March 17.