Manchester City head into the UEFA Champions League semi-final second leg at the Bernabeu with a slender advantage after winning a seven-goal first-leg classic against Real Madrid at Etihad Stadium.
City impressed early on as they put up a magnificent display hounding Real's goal for long periods but Carlo Ancelotti's side remained dogged and somehow managed to keep themselves in serious contention to reach another final.
Kevin de Bruyne set the tone for a magical night of football after scoring the opener with a diving header from Riyad Mahrez's cross in the second minute and in-form Gabriel Jesus quickly added a second from close range as Real's dodgy defense seemed to cave following a flurry of attacks.
Mahrez missed a golden opportunity soon after when he hit the side-netting instead of finding the unmarked Phil Foden, enraging manager Pep Guardiola before Karim Benzema, inevitably, gave Real a lifeline by sweeping home Ferland Mendy's cross after 33 minutes.
The Spanish side held on again shortly after the break when Mahrez struck the post but City restored their two-goal advantage when an unmarked Foden headed home Fernandinho's cross in the 53rd minute.
City were again pegged back again when Vinicius Junior dummied past Fernandinho and ran from inside his own half to score an astounding second for Real.
However, it seemed all hope was lost for the visitors as a brilliant use of advantage from referee Istvan Kovacs allowed Bernardo Silva to fire into the top-left corner for City's fourth.
There was still to be a final twist to the tale as Karim Benzema capped a spectacular game by showing nerves of steel to chip a Panenka penalty past Ederson with eight minutes left following Aymeric Laporte's handball.
Real Madrid have all to play when they host Manchester City in the return leg next Wednesday at the Santiago Bernabeu.