Gabriel Jesus was crouching on the field and crying. Not even the Manchester City jersey covering his face could mask the agony.
Raheem Sterling was lying across the turf, his hands crossed over his eyes.
Then, the Lyon players broke away from their celebrations to console an opponent distraught at being knocked out of the Champions League without reaching the semifinals for a fourth straight season.
City, the most expensively assembled squad in football history, had lost 3-1 to the team that finished seventh in the French league.
“It’s incredible because we’re the surprise team,” Lyon goalkeeper Anthony Lopes said. “I don’t think many people expected us to reach this stage of the competition. We have the right to continue to dream and to continue to believe.”
While Lyon prepares to face Bayern Munich in its first Champions League semifinal in a decade, City must face up to another collapse in its quest to become European champions for the first time.
“We need to learn — it’s not good enough and that’s it,” said Kevin De Bruyne, who scored City's only goal to equalize before Moussa Dembele scored twice. “Different year, same stuff.”
It leaves Pep Guardiola still waiting for a first Champions League title since 2011 with Barcelona, falling short in three attempts with Bayern Munich before repeated failures with City.
Guardiola’s decision to deploy an unfamiliar five-man defense to match Lyon’s system backfired when gaping holes were left at the back before Maxwel Cornet struck the opener in the 24th minute.
“We won the tactical battle as we master our system of play,” Lyon coach Rudi Garcia said.
De Bruyne equalized in the 69th but substitute Dembele restored the lead 10 minutes later after being on the pitch for only four minutes. Then came the chance to level that will haunt Raheem Sterling, who blazed the ball over an empty net, and a minute later Dembele scored again.
There was no way back for City, which has never lifted the European Cup despite the huge influx of cash from Abu Dhabi since 2008.
The semifinals will pit France against Germany in this unique pandemic-enforced conclusion to the Champions League in Lisbon, with single games rather than two-legged semifinals.
After Paris Saint-Germain plays first-time semifinalist Leipzig on Tuesday, Lyon will take on Bayern the following night.
“If we’re where we are today, it’s not down to luck," Cornet said. “We worked really hard in training before returning to competitive football.”
City's biggest Champions League win of the season, though, came off the pitch when its lawyers overturned a two-season ban from European competitions.
But for a City side that eliminated record 13-time champion Real Madrid in the previous round, losing to Lyon was not in the script.
Given that a place in the semifinals was on the line, City’s back line didn’t rise to the challenge.
The lack of urgency in dealing with Lyon’s advance for the opener was careless as Fernando Marcal sent a long ball over the top from inside his own half.
At that point Kyle Walker was alongside Cornet at the halfway line but the City right back lingered rather than tracking back. Aymeric Laporte also lost the advancing Toko Ekambi. Eric Garcia did run back to make the sliding tackle that prevented Ekambi from shooting.
But Cornet had sprinted forward and was left unmarked to pick up the loose ball before exploiting Ederson being caught off his line. Cornet shot low past the goalkeeper into the corner of the net.
“This team is great," De Bruyne said, “but we make too many mistakes.”
City should have been well aware of Cornet’s threat. He scored three goals against the then-Premier League champions across the two group stage games last season.
“Fortune smiled on me again against them,” Cornet said.
Although City began to find more space to attack, the only threat came from De Bruyne's free kicks.
More creativity was added when Guardiola replaced Fernandinho with Riyad Mahrez who created the equalizer. The Algerian passed long down the left flank to Sterling and the ball was cut back for the unmarked De Bruyne to curl into the bottom corner.
Lyon made its own game-changing substitution with the arrival in the 75th minute of Dembele, who met Maxence Caqueret's pass to complete a counterattack four minutes later.
City hoped the goal would be overturned by VAR for a foul on Laporte in the buildup but it was allowed to stand.
There were gasps among the few people allowed into the stadium — as part of coronavirus pandemic restrictions — when Sterling missed the chance to equalize after Gabriel Jesus squared across the face of goal.
“We scored a magnificent goal but unfortunately we missed another one," Guardiola said. "You have to be perfect, you cannot make mistakes.”
Had Ederson saved Houssem Aouar's tame shot at the other end, City might still have been able to force the game into extra time. But it was spilled and Dembele was primed to complete the job.
Lyon has to lift the European Cup for the first time to return to the competition next season after only finishing seventh in a domestic league curtailed after being suspended in March due to the pandemic.