It is the first time that two French teams will compete in the semi-finals of the competition with Paris St Germain facing RB Leipzig in the other Franco-German game in the last four.
The result also means that, for the first time the first since 1991 no team from England, Spain or Italy will compete in the last four of Europe’s premier club competition.
But for City and their manager Pep Guardiola it is the third season in a row that the team has gone out in the quarter-finals of the Champions League and they remain without a place in the last four under their Spanish coach.
“Different year, same stuff. I think the first half wasn’t good enough, I think we know that, we started slow, we had not many options, but the second half we played really well… it’s a shame for us to go out in this way,” said a disconsolate Kevin De Bruyne.
“We need to learn. It’s not good enough, and that’s it,” he added.
Guardiola’s methods have propelled City to two Premier League titles but he remains without a Champions League trophy since his 2011 victory with Barcelona.
The Spaniard’s tactical decision to play with an extra defender, in a three-man central defence, failed to work and left City chasing the game in the second half.
There was only one change in the City line-up from the team that had beaten Real Madrid in the last 16 earlier this month with attacking midfielder Phil Foden left out for 19-year-old defender Eric Garcia.
City made a poor start, although twice Raheem Sterling got behind the Lyon defence — only to lack options in the penalty area.
Lyon were on the front foot and stunned City when they took the lead in the 24th minute.
A ball over the top found Karl Toko Ekambi and although Garcia halted his progress the ball fell to Maxwel Cornet who, spotting that Ederson was well off his line, showed great awareness and skill, from just outside the box, to curl a low shot into the unguarded near post.
It was Cornet’s fourth goal in three games against City and it left Guardiola’s side with plenty to do to if they were to avoid another Champions League disappointment.
Caught out
City drew level through a De Bruyne side-foot finish in the 69th minute after good work from Sterling and pushed forward in search of winner only to be caught out on the break.
Dembele broke free and Ederson’s outstretched leg couldn’t keep his shot out of the net as Lyon went 2-1 up in the 79th. City argued there had been a foul on Aymeric Laporte in the build-up but VAR looked at the incident and allowed the goal to stand.
City then had a golden chance to draw level but Sterling somehow blasted a Gabriel Jesus pass over from close range with the goal at his mercy.
Lyon responded to that let-off by taking advantage of chaos in the City defence with Ederson pushing out a low shot from Houssem Aouar and former Celtic striker Dembele pouncing for his second to wrap up a famous win for Lyon.
Rudi Garcia’s side had only finished seventh in the curtailed French league season. However, after a lengthy break from action have come back to eliminate Juventus and City to set up a clash with a Bayern team on a high after crushing Barcelona 8-2 in their quarter-final.