Manchester City beat Real Madrid 4-3 in one of the most stunning Champions League semi-finals in recent history.
A game that featured six goals could have gone into double figures, as City raced into an early two-goal lead thanks to Kevin De Bruyne and Gabriel Jesus. The Belgian scored the fastest ever Champions League semi-final goal after just 94 seconds before assisting Jesus eight minutes later.
But Karim Benzema was always bound to get in on the action, and scored shortly past the half-hour mark to pull one back before half-time. However, Phil Foden got restored City's two-goal advantage after the break, but not for long.
Vinicius Jr stunned City almost instantly after the restart with a brilliant run, before firing past his compatriot Ederson to give Madrid hope once more. But a lapse in concentration allowed Bernardo Silva to bend in City's fourth, as the game swung again.
There was room for one more twist though, as Aymeric Laporte's handball handed Madrid a penalty, and Benzema chipped his effort past Ederson even with their European hopes at stake. City were the better side for the entirety of the game, but Pep Guardiola's side will be scratching their heads wondering how the tie hasn't been put to bed.
After a Champions League classic at the Etihad, here Mirror Football assess the winners and losers on the night...
Winners...
Kevin De Bruyne
De Bruyne is the driving force of City, and they're a different side with him in midfield. The Belgian was taken off with injury in last season's Champions League final, but he looks as hungry as ever to get another chance.
The Belgian scored a rare header to put City ahead after just 94 seconds, which is the fastest ever goal scored in a Champions League semi-final. And he set up Jesus eight minutes later as City had the dream start in front of their home crowd.
De Bruyne could not be contained at times, as all other 19 Premier League teams are well aware of. And the Madrid midfield were shell-shocked as he dominated the centre of the park.
Gabriel Jesus
It's been a whirlwind week for Jesus, as he's gone from being a rotation player under Pep Guardiola to scoring five goals in four days. The Brazilian has been linked with a move to Arsenal in recent weeks, and he's been a different player since.
Jesus was handed a piece of good fortune after 11 minutes as Eder Militao's error gifted him with a goal, but it still required a good finish. And it was a strike you'd expect from someone that scored four past Watford on Saturday.
Jesus may be one of the winners here, but City are also in a great position as if they are to sell the Brazilian to Arsenal, his transfer fee is rapidly increasing. And while they're set to receive more money, he's firing them to success.
Karim Benzema
He was always going score tonight, wasn't he? Even against opposition as good as City, Benzema only needed half a chance to find the back of the net and give Madrid a lifeline.
It looked as though it was going to be a frustrating night for Benzema as until the half-hour mark he barely had a kick of the ball. But a hopeful ball in by Ferland Mendy was converted brilliantly as his best season in a Madrid shirt continues.
The brilliance of Benzema showed later on in the game too, as the Frenchman had the nerve to panenka a late penalty and take a one-goal deficit back to the Bernabeu. He will have another chance to leave his mark in the second leg, potentially leaving City blue.
Losers...
Eder Militao
Madrid were stunned in the opening stages as their defence capitulated under the waves of City pressure, and Militao was all over the place as Los Blancos fell two goals behind. Although considered one of the best centre-backs in La Liga, the Brazilian looked out of his depth before settling down at the Etihad.
It was his error that handed Jesus a cheap second, and he left Madrid exposed when venturing forward at every opportunity. His frantic passing at the back also put his back-line under threat at times, as he lacked confidence.
Whether it was the early intensity City showed, or the fact that he couldn't get the early errors out of his head, Militao had a game to forget. But he can put things right at the Bernabeu in the second leg.
Toni Kroos
City are almost always going to win a midfield battle, but Toni Kroos was handed a difficult task in the absence of Casemiro. The Brazilian is Madrid's starting defensive midfielder, and one of the best in the world alongside Ngolo Kante.
But Casemiro was benched as he clearly was nursing an injury, meaning that Kroos was tasked with filling in his role. And the German struggled, proving just how good a job his team-mate does.
He was caught out in front of Madrid's back-four, and City found themselves acres of space in an area that Casemiro would usually control. Kroos will certainly be hoping his team-mate is back fit for the second leg.
Federico Valverde
Federico Valverde has been Madrid's starting right-wing in recent times, but Carlo Ancelotti had to shuffle the pack against City. With Casemiro out, Kroos became the new holding midfielder, and Valverde slotted into the middle alongside the German and Luka Modric.
Rodrygo was then handed a start in his usual position, although he was relatively ineffective. And later into the game the Madrid boss brought on Eduardo Camavinga as Valverde went back out wide, which was expected by many fans before the line-ups were announced.
Until the change, Valverde struggled with Kroos in a new position, and they fact that they left the Etihad still in the tie is rather impressive. But it makes you wonder how different things could have been if normality was restored.