For seven giddy second-half minutes Manchester City thought they would get away with it. They had snuck back into the game, ahead in the tie, and back into the quarter-final draw.

But they were one goal from disaster and sure enough that disaster struck. Tiemoue Bakayoko got on the end of a free-kick and headed it in. Monaco won the game 3-1, the 6-6 tie on away goals. They are still in Europe and City are not.

This was never going to be as good as the 5-3 first leg but it was still an enthralling back-and-forth. City were going through, then Monaco, then City, then Monaco. But there was no doubt that the right team made it in the end.

Monaco vs Manchester City player ratings Show all 22 1 /22 Monaco vs Manchester City player ratings Monaco vs Manchester City player ratings Danijel Subašić 8 out of 10 Had very little to do in the first-half but made some very important stops in the second, including a fine reaction stop to deny Aguero after the forward had raced through on goal. Monaco vs Manchester City player ratings Djibril Sidibé 7 Not quite as impressive as Mendy, but made a nuisance of himself whenever he got forward and largely kept the in-form Leroy Sane quiet. Monaco vs Manchester City player ratings Andrea Raggi 6 Imperious in the first-half, ran ragged in the second. At 32, he was always going to struggle against the pace of Sane but his positioning also let him down as City flooded forward late on. Monaco vs Manchester City player ratings Jemerson 6 Overplayed the ball on occasions and often guilty of making needlessly ambitious passes when there was a more simple option available. Did very well in the air though and denied Raheem Sterling in the second-half with a superb tackle. Monaco vs Manchester City player ratings Benjamin Mendy 8 The man of the match. No defender has more assists in this year’s Champions League than the 22-year-old. Dominated Sagna going forward. Dominated Sterling staying back. Monaco vs Manchester City player ratings Bernardo Silva 8 A typically bright performance from the forward. Always comfortable in possession and a threat whenever he picked up the ball and looked to play in one of Monaco’s forwards. Monaco vs Manchester City player ratings Fabinho 7 Took his goal very well, beating Caballero with a composed, first-time finish. Made a number of crucial tackles and interceptions, too. Getty Monaco vs Manchester City player ratings Tiemoué Bakayoko 7 Not the 22-year-old’s finest performance with a number of his passes went awry, but what does that matter? Scored the winning goal, pouncing on an error from Kolarov to nod pass Caballero at close-range. Monaco vs Manchester City player ratings Thomas Lemar 7 A bright start from the winger who overlapped nicely with the excellent Mendy. It was his well-taken free-kick which led to Monaco’s pivotal third goal. Monaco vs Manchester City player ratings Valère Germain 7 Offered more of a physical threat than his strike partner. Won a number of his aerial duels with Kolarov and unlucky to see a long-range strike whistle over the bar in the first-half. Monaco vs Manchester City player ratings Kylian Mbappé 8 Hard to believe he is only 18. Took his goal with confidence and terrorised the City defence with his direct running. Monaco vs Manchester City player ratings Willy Caballero 6 Cannot really be blamed for any of Monaco’s goals. Always quick off his life and dealt with Monaco’s aerial threat well, confidently punching clear on a number of occasions. Monaco vs Manchester City player ratings Bacary Sagna 5 His lack of pace was ruthlessly exploited by the fantastic Mendy. Was guilty of wandering out of position for Monaco’s second goal. Monaco vs Manchester City player ratings John Stones 5 Should have done better with Monaco’s second-goal, when he was pulled out of position by Lemar. His partnership with Kolarov does not look convincing. Monaco vs Manchester City player ratings Aleksander Kolarov 5 Struggled against the pace of Mbappe, the strength of Germain and utterly at fault for the crucial third goal. Monaco vs Manchester City player ratings Gael Clichy 6 One of the few City players to venture out of his half early on. But his distribution was lacklustre and, like Sagna, he struggled to stop his opposition full-back from raiding forward. Monaco vs Manchester City player ratings Fernandinho 6 Preferred by Guardiola to Yaya Toure for his greater energy, but as City’s only defensive midfielder, spent much of the game chasing shadows. Monaco vs Manchester City player ratings David Silva 6 Completely overshadowed by his namesake in the midfield. Grew into the game and one of City’s better players in the second-half, but will be disappointed with his display. Monaco vs Manchester City player ratings Kevin De Bruyne 6 Did better for City when he dropped deep and played in Sterling with a superb through-ball in the second-half, which the winger failed to take advantage of. Monaco vs Manchester City player ratings Raheem Sterling 6 Largely ineffectual although he did turn Mendy in the second-half, leading to Sane scoring City’s only goal. Monaco vs Manchester City player ratings Leroy Sane 7 Ineffectual in the first-half, City’s best player in the second. Scored their only goal and twice put it on a platter for Sergio Aguero, who endured a night to forget. Monaco vs Manchester City player ratings Sergio Aguero 4 One of the Argentinian’s poorest performances in a City shirt. Missed a hatful of chances in the second-half.

Monaco’s first-half display was one of the best seen in the competition this season. Pep Guardiola said on Tuesday night that Monaco were the “best team in the world at scoring goals”, and that City would have to score to progress. Here Leonardo Jardim’s side did everything to prove him right. They raced into a 2-0 lead, enough to send them through, but that alone does not tell the full story of their dominance. They won every 50-50 and looked like scoring with every attack. With a bit more luck they would have killed this game long before City could get back into it.

That first half, ultimately, was where City lost this tie. That 5-3 lead was not ideal but it should have been enough to see them through. But City chose the worst moment of the season to go missing, to get on the wrong side of a game this one-sided.

For all the inevitable attention on City’s defence, who conceded six goals over two legs, they lost this game in midfield. In the first half Fernandinho, David Silva and Kevin de Bruyne were utterly absent, losing every loose ball and looking, in basic terms, far less up for contest than Monaco.

Kylian Mbappe tapped in from close range to give the hosts an early boost (Getty)

Pep Guardiola’s big decision to play Fernandinho ahead of Yaya Toure in holding midfield was a bust. Toure is their biggest, strongest, most experienced and most consistent midfielder. He has been at the heart of everything City have done well since November. But tonight he watched from the bench as Fernandinho, whose place Toure has taken, was back in the team and powerless to stop Monaco’s attacks.

Ultimately this defeat was collective more than individual, and it belongs to the players as much as it does to Guardiola. They were caught off-guard and as soon as Monaco started to play it was clear only one team was being serious.

Even without Radamel Falcao, Monaco played with so much speed, energy and bristling intent that City could not live with them. Kylian Mbappe and Valere Germain set the tempo up front, pressing and harrying in a way City’s front three failed to do. How much talent City had on the pitch was irrelevant when they could not get a foothold in the game. Whenever they tried to string three passes together a Monaco player forcibly intervened. City looked weak, soft, tired and complacent.

So it was no surprise when Monaco took the lead. Mbappe had just forced a good save from Willy Caballero after Fernandinho was pushed off the ball. The ball went left, Mendy’s cross was blocked, but Bernardo Silva’s flew to the near post, where Mbappe put it in.

Fabinho levelled the aggregate score, with the away goal advantage to Monaco (Getty)

Monaco were half-way there and there was no letting up in their tempo. Mbappe had a second disallowed for offside and Germain put one just over the bar. But the barrage continued and, on 30 minutes, Monaco had their second. Another sharp move gave Mendy the ball on the left. Against he was free to get his cross in. It flew to Fabinho, unmarked in the box, and he slotted his first-time finish in. Monaco were 2-0 up and had turned the tie around already.

Guardiola needed to change things and he moved De Bruyne back alongside Fernandinho, giving City more stability in midfield. Monaco sat back to play on the break, City pushed up and for the first time controlled the game.

De Bruyne, nowhere in the first half, started to dictate play. He found Sterling whose cross to Aguero was intercepted by Andrea Raggi. Then Aguero put one over before firing straight at Danijel Subasic. Sane grew into the game, shooting into the side netting from Silva’s pass.

Leroy Sane looked to have earned progression through the quarters for City (Getty)

But there was a sense of inevitability building and sure enough City got their goal. De Bruyne darted another diagonal out to Sterling on the right. He cut inside and shot, and Subasic could only palm it into Sane’s path, and he did the rest.

That made it 2-1 to Monaco, 6-5 to City and would have been a smash and grab on the balance of play, if only City could hold onto it. But they never looked in control for that seven minutes, not against a team so much stronger and hungrier than them. City were giving away silly free-kicks and it was dramatic, but not surprising, when they were punished.

De Bruyne pulled down Fabinho and Monaco had their chance. Thomas Lemar whipped in the free-kick and Bakayoko got behind Kolarov, unmarked, to head in the ball at the near post. City tried to get their second but never had enough. They never had enough all night.

Monaco (4-4-2): Subasic; Sidibe, Raggi (Almamy Toure, 70), Jemerson, Mendy; Bernardo Silva, Fabinho, Bakayoko, Lemar; Germain (Dirar, 90), Mbappe (Moutinho, 80).

Subs not used: De Sanctis, Jorge, Cardona, Diallo.

Manchester City (4-1-4-1): Caballero; Sagna, Stones, Kolarov, Clichy (Kelechi, 73); Fernandinho; Sterling, De Bruyne, David Silva, Sane; Aguero.