Two goals in the last 10 minutes from substitute Moussa Dembele saw Manchester City crash out of the Champions League quarter-finals once again after losing 3-1 to Lyon
In a thrilling and drama-filled conclusion, VAR allowed a Dembele breakaway goal to stand despite an apparent foul in the build-up before Raheem Sterling missed an open goal moments before Dembele's tap-in from Ederson's error confirmed City's shock exit
As with their group-stage meetings last season, City went into the game as huge favourites but Lyon once again caused an upset, with Maxwell Cornet (24) - who has scored four times against City - putting his side ahead in the first half
A superb finish from Kevin De Bruyne (69) hauled City level and they looked the more likely to win in the spell of dominance that followed
But Lyon had an ace up their sleeve in top scorer Dembele, who put the Ligue 1 side back ahead in the 79th minute
 City will once again feel aggrieved by VAR in the Champions League as the Frenchman was not penalised for a foul on Aymeric Laporte in the build-up
Dembele (87) then scored again 59 seconds after Sterling had blazed over from six yards with an open goal on offer
 The former Celtic and Fulham forward slotted home a rebounded save from Ederson to set up a semi-final tie against Bayern Munich on Wednesday
City have once again failed to advance past the quarter-final stage, being knocked out in the final eight in three successive seasons
City fired off a warning inside three minutes as they dominated possession in the opening exchanges
 Sterling darted in front of Leo Dubois, but his cut-back for De Bruyne was cut out by Fernando Marcal
Neither side particularly threatened from then on but Lyon went ahead in the 24th minute
 It was a superb long pass from Marcal that picked out Karl Toko Ekambi, with the striker bursting into the area
Eric Garcia made a good tackle to take the ball from his feet but Cornet was lurking just behind and sent a sumptuous curling effort into the bottom corner
 There was a question of offside in the build-up but after a VAR check, the goal rightly stood
City knew they had to come from behind against Lyon once again and despite a quiet start, goalkeeper Anthony Lopes was far busier in the final 15 minutes of the half
 He made an acrobatic double save just after the half-an-hour mark, leaping with an outstretched hand to push away a Joao Cancelo cross before smothering Ilkay Gundogan's attempted effort from the rebound
Both sides had some half chances at the start of the second half
 Lopes made a leaping save to keep a thunderous De Bruyne free-kick out while a second from the Belgian a little while later flew past the top corner
 Marcelo also tried his luck at the other end, but his effort from range was easily saved by Ederson
But De Bruyne hauled City level in the 69th minute in a wonderful team move
 A superb pass from Riyad Mahrez picked Sterling out on the left of the area, and he nipped the ball easily around former City academy player Jason Denayer
 He then pulled the ball back for the incoming De Bruyne, who in acres of space, sweetly finished past the leaping Lopes
Gabriel Jesus should have scored not long after, but after some strong hold-up play from Sterling, could only loop a skewed volley onto the top of the net
 City were made to pay for the miss too when Dembele put Lyon back ahead just four minutes after replacing the quiet Memphis Depay
Ekambi let a pass fizz through his leg and into the path of the former Celtic striker to his left
 Dembele then strode into the area before slotting home through the legs of Ederson, but the celebrations were halted as VAR checked the goal for a foul in the build-up
Dembele had tangled legs with Laporte before receiving the ball, sending the defender to ground, but VAR deemed that it was not enough to chalk off the goal and it stood
 The decision will surely bring back memories of the VAR chaos that reigned in City's quarter-final second leg against Tottenham in April last year
City had their chances to score but were guilty of some poor finishing and none more so than Sterling in the 86th minute
Jesus did well to dart down the left of the are with defenders closing in before scooping out a cross for his team-mate towards the back post
 With his form this season, you would bank on Sterling scoring with an open goal ahead of him, but he could only send the ball flying over in one of the misses of the season
And 59 seconds later, Lyon sealed their spot in the semi-finals
 Jeff Reine-Adelaide drove towards the area before picking out Houssem Aouar to his left
 He saw his own shot saved by Ederson but it was spilled into the path of the waiting Dembele who had an easy tap-in
"A back three to match up against a Lyon side who finished in mid-table in the abridged Ligue 1 season, with a notable lack of the technical genius that has underpinned the free-scoring success of Guardiola's City, had not been on the cards in most people's predicted line-ups
"No David Silva, no Bernardo Silva, no Phil Foden, no Riyad Mahrez
 At least one had played in each of the 57 previous games this season
 Only Kevin De Bruyne was the one creative wizard tasked with unlocking the Lyon defence, however
 But even arguably the best midfielder in the world can only do so much on his own
"If the issue needed more exposure, the introduction of Mahrez 11 minutes into the second period provided it
 City immediately looked a more coherent attacking unit with him in the side, and it was no surprise when he played a part in his side's equaliser barely 10 minutes later
"Guardiola will, and has already, pointed to his side's inability to take the chances they did create after half-time - Raheem Sterling may have his shocking miss ruminating around his head by the start of next season
 While he is right, the fact it took a personnel change and 75 minutes before City created the kinds of chances worthy of looking back on with regret is just as valid an argument
"It's unusual to give man of the match to a player who only featured for around 20 minutes, but Dembele's impact on the game was massive
 He has started on the bench in the last two European games with Ekambi preferred to partner Depay up front
 However, the former Celtic man showed just why he deserves a starting berth against Bayern on Wednesday
Yes, his first goal will be shrouded in controversy after he was not penalised for foul on Laporte in the build-up, but he showed exactly why Manchester United have been linked with him with a cool finish
 His second was also well taken as he took advantage of an Ederson error and did exactly what a striker should do
The cameo will only increase his reputation around the continent and he has another chance to show when he can do in the semi-finals next week
Man City manager : "One day we will break this gap
 The second half was OK, I had a feeling we were better but you have to be perfect in these competitions
"I don't want to talk about the circumstances [of Dembele's first goal], it looks like I'm complaining or finding excuses
 We are out
 We did a lot of good things and in the end it was not enough
"We made mistakes in both boxes at key moments and that's why we are out
 We scored a magnificent goal but unfortunately we missed another one
 You have to be perfect, you cannot make mistakes
"The show must go on and now it's time for the players to take a break, we are going to get in as many days as possible
 Next season will be so strong and demanding, but not the time to think about this… So [we will] try to sleep a little bit and pass 24 hours, 48 hours and then we start to think about next season
"Lyon manager : "I'm proud of my players
 We believed in ourselves
 We knew we weren't favourites and we were playing a top team
"Above all our success was down to our team spirit
 Everyone worked for each other and the substitutes helped a lot
 We won the tactical battle
 There are still matches to be played and hurdles to overcome and we'll try to overcome them
"Lyon will face Bayern Munich in the Champions League semi-finals on Wednesday August 19 (8pm kick-off)
Lyon vs Bayern Munich (August 19, Estadio da Luz)RB Leipzig vs PSG (August 18, Estadio Jose Alvalade)Sunday August 23