Manchester City came out on top in an epic Champions League battle against Monaco as late goals by John Stones and Leroy Sane secured a 5-3 victory in a last 16 first-leg thriller on Tuesday that had goals galore and a missed penalty.
City took the lead through Raheem Sterling but were then playing catch-up as Monaco drew level thanks to Radamel Falcao's header and then went ahead with a powerful finish from 18-year-old Kylian Mbappe five minutes before halftime.
South American poachers Sergio Aguero for City and Falcao, who also missed a penalty, then traded blows with Aguero equalising for 2-2 and then 3-3 after Falcao's exquisite chip gave Monaco the lead for the second time at The Etihad.
City, however, then pulled clear as Stones tapped in at the far post and Sane rolled the ball into an empty net to give City a two-goal advantage ahead of the return on March 15.
City manager Pep Guardiola had called Monaco "killers" in the box before the game and while they showed just why they are European football's most deadly assassins, they were embarrassingly fragile at times at the back.
They were behind after 26 minutes when Sterling tapped home after Sane dazzled down the left and teed up the England winger.
Monaco were handed a route back into the match after 32
He gave the ball away with a poor clearance and the visitors worked it to Fabinho whose devilish cross was headed home by former Manchester United and Chelsea striker Falcao, who has found his best form again since returning to France.
City were denied a penalty by Spanish referee Antonio Mateu Lahoz when Aguero appeared to be upended by keeper Danijel Subasic before Monaco grabbed the lead through Mbappe.
The 18-year-old was released through the middle and lashed his finish into the top corner past Caballero.
The visitors should have extended their advantage soon after the restart but Falcao's tame penalty was saved after Nicolas Otamendi had been penalised for catching the Colombian as he tried to convert Benjamin Mendy's cross.
City swiftly made Monaco pay as Aguero ended a six-game goal-drought thanks to a Subasic howler. Sterling slid the ball through and the Argentine fired straight at the keeper but it squirmed out of his hands into the net after 58 minutes.
Parity was short-lived, however, as Falcao turned City defender Stones before lifting an exquisite chip over the stranded Caballero to make it 3-2 to the principality club.
Aguero levelled once more when he volleyed home from 12 metres after a corner and City took the lead when Kevin De Bruyne's set-piece was turned in by Stones at the far post.
The final twist in one of the most entertaining encounters in the competition's recent history came when Aguero rolled the ball into the path of Sane who tapped into an empty net.