Manchester City's Champions League ambitions are in ruins once more after Lyon shocked Pep Guardiola's side in the quarter-final in Lisbon.
City started as firm favourites but came out second best against a fiercely determined Lyon in a game that swung on controversy and uncharacteristic errors in the closing stages.
Lyon went ahead in the 24th minute with Maxwel Cornet's smart finish but City, lifeless as Guardiola chose to play a three-man central defence, looked to have been revived by Kevin de Bruyne's precise strike from Raheem Sterling's pass after 69 minutes.
Former Celtic striker Moussa Dembele, on as a substitute, restored Lyon's lead in contentious circumstances 11 minutes from time, the video assistant referee ignoring what appeared to be an obvious foul by the goalscorer before he ran on to beat Ederson.
City pressed for the equaliser but Sterling was guilty of an atrocious miss, somehow sending his finish over the top of an open goal from Gabriel Jesus' pass.
It proved to be hugely expensive as seconds later Lyon set up a semi-final meeting with Bayern Munich when Dembele scored his second after Ederson fumbled a shot from Houssem Aouar's routine shot.
Guardiola has rightly been showered in plaudits for the wonderful football and success he has brought to Manchester City - but his biggest target remains elusive and this was a miserable night for the manager.
Guardiola, who has been accused of over-thinking his approach in the Champions League before, adopted a three-man central defensive system and chose to leave many of City's creators and manipulators on the bench.
Lyon deserved respect after eliminating Juventus but this was a ploy that took it too far and resulted in a stuttering City lacking urgency and creativity.
He eventually introduced Riyad Mahrez after the break to some effect but Lyon were offered hope and encouragement by Guardiola's approach and showed magnificent grit and resilience to secure the win.
City will rightly claim an injustice over the VAR decision that did not penalise what appeared to be a foul on Aymeric Laporte by Dembele but the team defending for the second goal was horrific, with every City player bar keeper Ederson in the Lyon half when the goal was created when the game was finely balanced at 1-1.
City and Guardiola have suffered Champions League disappointment before but this may hurt more than any other - and make no mistake, the much-feted Catalan must take his full share of responsibility for a flawed game plan.
Lyon deserve credit
Lyon's celebrations were wild at the final whistle - and who can blame them after a magnificent victory against many experts' favourites after previously knocking out Juventus despite another stellar contribution from Cristiano Ronaldo?
The French side dug deep, rode their luck at the right times, especially with Sterling's ghastly miss, and when offered the opportunity put City away.
Dembele showed the poacher's instinct that made him so highly prized at Celtic and has made him a success in France to score the two goals that saw off City.
Bayern Munich will be hot favourites after their astonishing 8-2 demolition of Barcelona but this revamped knockout format has already produced its share of surprises and Lyon have shown they must not be written off.
Goalscorer Moussa Dembele speaking to RMC Sport: "We are still in it, which means we have a great team.
"We are taking it game by game, not getting carried away. We will try to be ready for Bayern."
Lyon's Rudi Garcia is the first French manager to guide a French team to the Champions League semi-finals since 2009-10 (Claude Puel with Lyon).
Since progressing from his first seven Champions League quarter-finals as a manager with Barcelona and Bayern Munich, Pep Guardiola has been eliminated in each of his three with City.
The Champions League semi-finals will see two French teams (PSG, Lyon) and two German teams (RB Leipzig, Bayern Munich). It is the first time since 2012-13 that there are just two different nations at the semi-final stage.
City's Kevin de Bruyne has been directly involved in more goals in 2019-20 than any other Premier League player (38 - 16 goals, 22 assists).
Lyon's Maxwel Cornet and Moussa Dembele have scored four Champions League goals against City, a joint high with Lionel Messi.
Raheem Sterling made his 50th Champions League appearance tonight, aged 25 years and 251 days. The only Englishman to reach this milestone at a younger age was Wayne Rooney in 2010 (24 years, 115 days).
Sterling provided his 11th assist for Manchester City in the Champions League - the joint-most for the club alongside De Bruyne.
Fernandinho made his 58th appearance in the Champions League for Man City - the most of any City player in the competition.