Gabriel Jesus and Kevin de Bruyne scored late goals as Manchester City fought back from a goal down to beat Real Madrid and take control of their Champions League last-16 tie.
After a cagey first half, the hosts capitalised on a defensive mix-up between Rodri and Nicolas Otamendi to take the lead as the impressive Vinicius Junior raced towards goal before neatly squaring for Isco to slot home.
Sergio Ramos shot over as Real Madrid looked to double their advantage but City equalised 12 minutes before time when Jesus nodded in from close range.
It was the least City deserved for what had been an impressive away performance by Pep Guardiola's side and things got even better seven minutes from time when substitute Raheem Sterling was brought down inside the box and De Bruyne stepped home to confidently convert from the spot.
It got even worse for Real Madrid when they were reduced to 10 men with five minutes remaining. Sergio Ramos brought down Jesus as he ran through on goal and the defender was shown a red card.
It was the first time City had beaten Real Madrid in the Champions League and means they are in the driving seat before the second leg at the Etihad next month.
Meanwhile, Lyon produced a spirited display to take a surprise lead after the first leg of their Champions League last-16 tie with Juventus.
Lucas Tousart scored the only goal in the first half as the hosts claimed their first victory over the Italian giants.