Monaco and Manchester City delivered another wonderful game; this time, Monaco stayed in it until the end, moving into the quarter-finals on away goals.

The first half was all Monaco. Fabinho, Tiemoue Bakayoko and Bernardo Silva dominated midfield, while Kylian Mbappe was a constant threat up-front. And it was he who opened the scoring on seven minutes, slipping home from close range after Silva's cross.

Still, City could not get anything going, and on 27 minutes, Monaco put themselves ahead in the tie. Again, the goal came from their left flank, Thomas Lemar feeding the excellent Benjamin Mendy, and his cross was expertly tucked away by Fabinho.

City were much improved after half-time, pushing their fullbacks higher up the pitch to get their wingers into the game, while in midfield, David Silva began to twinkle.

But they missed a succession of chances, Sergio Aguero the main culprit, before, on 71 minutes, they forced themselves ahead once more, Leroy Sane first to react after Danijel Subasic palmed away Raheem Sterling's shot.

Somehow, though, Monaco composed themselves and came again. Though they had barely threatened since the break, they won a free-kick, swung in by Lemar, and when Aleksandr Kolarov misjudged its flight and Willy Caballero chose not to come, Bakayoko powered in what proved to be the winner.

It will be of no comfort to City that they participated in a classic tie, and one which boasts more goals than any other in Champions League history. They will have to explain their first-half no-show, and Pep Guardiola will have to explain why he has failed to coach any improvement out of his defence. As for Monaco, though they have their faults, no side will fancy meeting their attack in the last eight.