Manchester City overcame Monaco in an eight-goal thriller at the Etihad Stadium, coming from behind to run out 5-3 winners in their Champions League round-of-16 first leg.
Radamel Falcao's brace had looked to set Monaco on their way to a 3-2 victory after the hour-mark, but goals from Sergio Aguero -- his second of the night -- John Stones and Leroy Sane turned the game on its head.
The match got off to a lively start with both sides showing plenty of attacking intent, though the first real chance did not come until the 15th minute when Raheem Sterling attempted to round Danijel Subasic, with the loose ball falling to Aguero who tried to beat the Monaco keeper from a tight angle only to see his effort saved.
Monaco had an opportunity of their own to break the deadlock after 18 minutes when Benjamin Mendy was picked out by Kylian Mbappe, but he was unable to beat Willy Caballero at his near post.
A minute later and the visitors had another sight of goal after Yaya Toure failed to clear a corner and the ball fell to Kamil Glik at the far post, but the defender sent his header wide from close range.
City managed to open the scoring in the 26th minute through Sterling, who arrived in the box to convert Sane's cross from close range after the Germany international had linked up well with David Silva.
However, Monaco were level six minutes later as Falcao got on the end of a Fabinho cross to head home after the Brazilian had intercepted a poor Caballero clearance.
City thought they had a penalty moments later when Aguero, through on goal, went to ground after attempting to round Subasic but the striker was shown a yellow card for allegedly diving.
Mbappe had a chance to edge Monaco in front on 36 minutes when Falcao's flick-on played the ball into his path inside the box but he sent his effort just over the bar.
Mbappe did not make the same mistake four minutes later, though, when latching onto Fabinho's ball over the top that opened up the City defence, with the 18-year-old firing first time into the roof of the net to stun the home support.
It could well have been another just before the break for Monaco -- dangerous with every attack against a struggling City defence -- when Falcao found himself free with the ball inside the area but he could only strike into side netting.
Monaco started the second half as they ended the first and won a penalty just four minutes after the restart when Nicolas Otamendi was adjudged to have brought down Falcao in the area.
Falcao got back on to his feet to take the penalty, but his weak effort was comfortably saved by Caballero who guessed the right way.
City were gifted a way back into the game in the 58th minute by Subasic when Aguero, who had been played in by Sterling, fired a strike straight at him that he somehow allowed to slip through his fingers and into the back of the net.
But just two minutes later and Monaco's advantage was restored when Falcao outmuscled Stones in the box before clipping a stunning chip over Caballero.
The game continued to remain open as the second half wore on with another chance presenting itself to Mbappe on 69 minutes, but the forward's effort from a tight angle smashed into the side netting.
Two minutes later and City had levelled the game again, with Silva picking out Aguero with a cross and the Argentina international burying a volley into the far corner.
And after 77 minutes the hosts had completed the turnaround when Stones arrived at the far post to turn Toure's header into the back of the net to send the Etihad wild.
Aguero could have added another for City just a few moments later only to see his strike saved, before Sane did make it five on 82 minutes, slotting home from close range after being teed up by the Argentine.