City’s Champions League campaign is over after a 3-1 defeat to Lyon in Lisbon.

Lyon went in a goal up at the break after a subdued first-half by Pep Guardiola’s men, and it wasn’t until the 69th minute that City levelled through Kevin de Bruyne.

But the expected onslaught from City didn’t materialise and instead Lyon struck two late goals – the first after a hugely contentious VAR decision – and then again after a mistake by Ederson

What happened?

City had a great chance to take an early lead when Joao Cancelo played a superb ball into Raheem Sterling’s run but his attempt to cut the keeper out with a square pass to the unmarked Gabriel Jesus lacked power and the danger was cleared.

Pep Guardiola’s tactical reshuffle was undoubtedly a respectful nod to Lyon’s attacking threat, but Kevin De Bruyne aside, there was a lack of creative spark from midfield.

Lyon looked comfortable and solid and it was the French side who had the first shot on goal, with Ederson collecting Marcal’s low drive from 20 yards.

And as the Ligue 1 side settled into the game, City’s high line was caught out as a long ball from the left saw Toko Ekambi break through and despite a valiant effort by Eric Garcia, Maxwel Cornet – scorer of three goals against City last season – was on hand to curl a low shot around the stranded Ederson to make it 1-0.

In first-half added time, a fine De Bruyne cross into the box found Sterling who was denied by a defender and the keeper.

A frustrating first 45 minutes overall, but with the talent waiting on the bench, there was plenty of time to change the course of the game.

With no further progress in the opening quarter-of-an-hour after the restart, Guardiola shuffled his pack, taking off Fernandinho and bringing on Riyad Mahrez.

Two free-kicks on the edge of the box from De Bruyne came to nothing and though the pressure on Lyon was increasing, City just couldn’t find a way past the wall of defenders in and around the French side’s box.

Then, with 20 minutes remaining, finally. City found a way through as Sterling chased a ball down the right into the box, checked inside, and then played a low pass into the path of De Bruyne who coolly side-footed past the keeper and into the bottom right of the net.

City went looking for a second and Sterling dribbled into the box before picking out Gabriel Jesus at the far post but the Brazilian’s didn’t connect well and the ball bounced over.

Then a huge moment of controversy – and City’s wretched luck with VAR in the Champions League struck again as Dembele clipped Aymeric Laporte’s heels before racing through to hit a low shot through Ederson’s legs.

VAR reviewed the contact on Laporte and deemed the goal legal - though it looked anything but.

City dragged themselves back off the floor and on 85 minutes, there seemed a certain equaliser as Gabriel Jesus crossed low across the box and Sterling arrived - but fired over the crossbar with the goal gaping.

Just 59 seconds later, Dembele prodded home from close range after Ederson spilled a cross and a minute with destiny had swung dramatically in favour of Lyon.

Heartache again for City and, sadly, a killer goal with just a couple of minutes remaining.

What it means…

City’s season, which began more than a year ago, is finally over, though not in the manner anyone would have wanted it.

It also means David Silva’s time with City is at and end after 10 glorious years.

What next?

City will return to action in just under a month as the Premier League returns.

Line-ups:

City: Ederson, Walker, Cancelo, Laporte, Garcia, Fernandinho (Mahrez 56), Rodrigo (D Silva 84), Gundogan, De Bruyne, Sterling, Jesus

Subs: Bravo, Stones, Zinchenko, Bernardo, Mendy, Otamendi, Foden, Doyle, Bernabe, Palmer

Lyon: Lopes, Denayer, Marcelo, Marcal, Dubois (Tete 74), Cornet, Caqueret, Guimaraes (Mendes Ribeiro 70), Aouar, Toko Ekambi (Reine-Adélaïdeat 87) , Depay (Dembele 75)

YOU CAN GET EXCLUSIVE CITY CONTENT WITH A CITY+ SUBSCRIPTION