Sergio Aguero scored twice in a topsy-turvy game, as the Blues opened the scoring through Raheem Sterling then came from 2-1 and 3-2 down to triumph. John Stones put the Blues 4-3 up and Leroy Sane completed the scoring.
A pulsating clash – one of the best in recent memory – ensured all eyes will be on the second leg, with the footballing world left thirsty for more from this eight-goal thriller.
Pep Guardiola’s men looked to be in a perilous position, having conceded three away goals – but a spirited fightback handed City a two-goal advantage to take to the Stade Louis II.
The record 53,351 in attendance were treated to a feast of football – you could not take your eyes off this one for a second.
City XI: Caballero, Sagna, Stones, Otamendi, Fernandinho, Yaya Touré, Sané, Silva (C), De Bruyne, Sterling, Agüero
Subs: Bravo, Zabaleta, Fernando, Nolito, Navas, Delph, Iheanacho
Monaco XI: Subasic, Glik, Raggi, Mendy, Sidibe, Fabinho, Bakayoko, Silva, Lemar, Mbappe, Falcao.
Subs: De Sanctis, Diallo, Toure, Dirar, Moutinho, Carrillo, Germain
A fast-paced opening set the tone of the game, as both sides adopted a direct approach with quick pressing off the ball. Intricate play and use of the width allowed both defences to be breached almost at will.
There were early warning signs as excellent vision and one-touch play between Yaya Toure looked to have set Sterling free early on – but the offside flag was raised.
At the other end, Thomas Lemar dragged an effort wide. The encounter started with end-to-end action and so it would continue.
David Silva had the ball in the net on 12 minutes, having carved open the Monaco defence with a series of one-twos with Sterling, but again, offside was called.
A wonderful piece of skill from Bernardo Silva, who jinked his way past Sane and Toure, set Falcao free but a combination of Bacary Sagna and Nicolas Otamendi denied the in-form striker a clear shot on goal.
As Monaco enjoyed a sustained period of pressure, Willy Caballero was called into action to thwart Lemar, before Glik headed wide at the backpost – thanks to a nick from Toure.
The pressure pendulum swung in City’s favour then. A raking long-ball from Fernandinho found Sterling and then De Bruyne, who whipped in a delivery for Aguero, who was inches away from connecting.
It was a moment of individual brilliance that finally broke the deadlock, as Sane jinked his way past three men before collecting Silva’s return ball and squaring for Sterling to convert from close range. The German celebrated as if he had scored himself – and rightly so, having provided further evidence of his attacking menace.
The visitors responded well to falling behind though and sought an immediate leveller. They found one within five minutes, as Fabinho delivered the perfect cross for Falcao to head home his 14th goal in 15 games.
City were denied the chance to restore their lead from the spot as Aguero was upended in his attempt to round goalkeeper Danijel Subasic. Controversially, referee Antonio Mateu Lahoz adjudged the striker had dived and instead brandished a yellow card.
Monaco almost capitalised immediately only for Mbappe to blaze over the bar.
The 18-year-old would atone for his miss though, as he turned the game on its head on 39 minutes, smashing into the top corner.
Falcao almost made it three but fired into the side-netting in the last major action of the half.
Things looked set to go from bad to worse for City within minutes of the restart, with Monaco awarded a penalty as Otamendi slid in on Falcao from behind.
The forward stepped up to take the spot kick but Caballero – so often victorious – made the save.
It was just the boost City needed and the Blues were level on the hour mark, thanks to a slice of good fortune.
Sterling was the architect, nipping in to intercept and driving forward before releasing Aguero, whose shot slipped through Subasic’s hands to squirm in.
The respite did not last though, as Falcao netted his second of the night in stunning fashion, outmuscling John Stones and chipping exquisitely over Caballero to secure his revenge.
Mbappe then drilled into the side-netting as Monaco thrived on the counter-attack, with City pushing forward for another equaliser.
It arrived with 20 minutes of normal time remaining, courtesy of yet another brilliant goal – this one from Aguero, as he volleyed home Silva’s corner.
Inspired and of course wary of their opponents’ away goal advantage, City knew they needed more – and amazingly, they snatched it.
The stadium erupted when Stones stretched to divert Toure’s flick on from another corner, and when Aguero played Sane through to slot into an empty net, pandemonium descended. Fans, journalists and even the players could not believe what they were seeing.
There was still time for Caballero to make a crucial stop, and now the wait begins for the rematch… Bring it on!
What can you say about Sergio Aguero?
We all know what he's capable of but when he's hungry, he is simply unplayable.
With two goals and an assist tonight, plus a tireless workrate and visible desire, he deservedly took the plaudits and the City Matchday App users' Man of the Match award.
With no game this weekend due to Man United’s involvement in the League Cup final, the Blues’ next game is the FA Cup home replay against Huddersfield on Wednesday 1 March at 7:45pm.
A trip to Sunderland follows on Sunday 5 March (4pm); then the visit Stoke (Saturday 11 March, 12:30pm) before the second leg clash against Monaco on Wednesday 15 March (7:45pm).