The first competitive meeting between the two sides will live long in the memory after goals inside the final 13 minutes from John Stones – atoning for an earlier error – and Leroy Sane put City in command of the last-16 tie.
Sergio Aguero and Radamel Falcao had scored two apiece – the latter also missing a penalty – while Raheem Sterling and Kylian Mbappe also got in on the act.
Leonardo Jardim's side, who have scored over 100 goals in all competitions this season, will rue the moment Falcao squandered a chance to make it 3-1 from the spot, as City hit back.
It was Sterling who opened the scoring 26 minutes in, but City quickly surrendered their advantage to Falcao's diving header following a poor clearance from Willy Caballero.
The hosts were incensed when Aguero was booked for diving instead of being awarded what City felt was a clear penalty and their frustration grew when teenager Mbappe put Monaco ahead before the break.
Having been denied a spot-kick, Pep Guardiola's side conceded one early in the second half, with Nicolas Otamendi the guilty party, but Caballero redeemed himself by denying Falcao.
While one goalkeeper was restoring some pride, another was about to have his dented as Danijel Subasic allowed Aguero's tame near-post strike to creep past him just before the hour mark.
But a remarkable game took another twist just three minutes later, Stones failing to defend a long ball and Falcao producing a stunning chipped finish.
2 - Falcao has scored as many goals tonight in Manchester as he did at Old Trafford for Manchester United (15 games). Homecoming.— OptaJoe (@OptaJoe) February 21, 2017
Still the drama continued to unfold and, in a scarcely believable script, Aguero levelled before Stones went from villain to hero and Sane capped it all off.
The return leg in three weeks' time has a lot to live up to, but Monaco will have little choice but to go on the attack once more.
Kamil Glik, whose early booking ensured he will miss the second leg, headed narrowly wide amid a high-tempo start that set the tone for an enthralling contest.
Monaco hearts were in mouths when Kevin De Bruyne's teasing cross flashed across the face of the goal, with Aguero failing to apply the finishing touch.
And the deadlock was broken soon after, David Silva feeding Sane, who delivered the simple square pass from which Sterling tapped home.
The lead lasted only six minutes, though, with Caballero punished when he failed to clear his lines and Fabinho's superb cross was met by Falcao's header.
Referee Antonio Mateu Lahoz had a big call to make after Aguero took a tumble when trying to round Subasic and the Spanish official opted to pull out a yellow card for the Argentina international.
Monaco rubbed salt in the wound five minutes before half-time as Mbappe sprinted in behind a static defence and lifted Fabinho's throughball past Caballero.
Things looked to have taken a turn for the worse for City soon after the restart when Otamendi fouled Falcao in the box, but the former Manchester United loanee's effort was poor and Caballero easily kept it out.
Aguero's 58th-minute leveller was a moment to forget for Subasic, but Stones was next to embarrass himself with an error that allowed Falcao time to fashion a beautiful dinked finish.
Another City penalty appeal was waved away when Sterling went to ground under pressure from Benjamin Mendy, drawing deafening boos from the home crowd.
Those jeers turned to cheers after Aguero expertly volleyed in Silva's corner with 19 minutes remaining and Stones prodded in at the back post from a corner to put City ahead.
The final say on a crazy evening went to Sane, who turned in Aguero's selfless assist and the full-time whistle afforded an enraptured crowd to finally exhale.
8 - Manchester City 5-3 Monaco is the highest scoring first leg ever in a Champions League knockout tie. Bonanza.— OptaJoe (@OptaJoe) February 21, 2017