Ousmane Dembele came off the bench to score a brace as Olympique Lyon stunned Manchester City 3-1 on Saturday in Lisbon to turn the Champions League semi-finals into an exclusive German-French affair.
Maxwell Cornet opened the scoring mid-way through the first half, playmaker Kevin de Bruyne levelled in the 69th but Dembele struck in the 79th and 87th for a surprise win.
Lyon reached the semi-finals for the second time and with it ended the bid of Pep Guardiola's City for a first-ever title yet again.
City disappointed behind closed doors at Estadio Jose Alvalade, with Raheem Sterling missing a sitter for what would have been 2-2, goalkeeper Ederson not looking good on Lyon's third, and an experiment with a three-man defence abandoned in the second half.
Lyon now run into Bayern Munich, who routed Barcelona 8-2 on Friday, in a one-legged repeat Wednesday of their last-four date from 10 years ago which Bayern won 4-0 on aggregate.
The other semi-final Tuesday is between Paris Saint-Germain and RB Leipzig en route to the August 23 final.
Two French semi-finalists
It is the first time that the French Ligue 1 has two-semi-finalists while it also marks the first time since 1996 that neither England nor Spain are represented in the semis.
"We are very proud of what we have done. We beat one of the Champions League favourites 3-1. We won the tactical battle and the communication battle," Lyon coach Rudi Garcia said. "This win is great for French football."
Guardiola said: "We created a lot but made one or two mistakes."
De Bruyne added: "There is a lot of disappointment. We wanted to win the cup. The coach had a plan but we didn't find the options and space. We changed in the second half and played better. We should have scored a second but then gifted them two goals."
The success of Lyon and PSG is even more remarkable because they came to Lisbon having played only two matches each since March because the league was suspended and then abandoned because of the coronavirus. But it appeared that they, as well as Munich and Leipzig, whose season ended in late June, were fresher than others.
Guardiola made one change to last week's last 16 success over record winners Real Madrid, with Eric Garcia starting instead of fellow-teenager Phil Foden. Lyon counterpart Garcia fielded the same starting 11 that surprisingly knocked out Juventus last week.
City never really got into the game as Lyon showed no fear and had the first chance from Marcal's shot saved by Ederson.
And the French went on top in the 24th when Toko Ekambi took up a long ball, was stopped by Garcia at the edge of the area but Cornet was alert and curled the ball into the near left corner past the stranded Ederson.
Cornet had also scored three of Lyon's four goals against City in last season's group stage when they won 2-1 at the Etihad and drew 2-2 at home.
The goal only added to City insecurity as Kevin de Bruyne and company were unable to threaten the well-organized French in the injury-related absence of Sergio Aguero.
City only came to life shortly before the break but a harmless shot from Rodri went into the arms of Anthony Lopes after nice work from Sterling on the right, and Sterling had a shot blocked off a long ball from de Bruyne.
Guardiola brought on Riyad Mahrez for Fernandinho shortly after the restart as City stepped up the pace and Lyon had a hard time getting out of their half.
Lopes saved de Bruyne's free-kick in the 59th, the Belgian curled another dead ball over the bar six minutes later but finally netted the equalizer in the 69th with a low shot into the bottom right corner from some 14m after being set up by Sterling.
Gabriel Jesus had a glorious chance to give City the lead but miscued Sterling's cross at the far right post in the 77th.
And two minutes later City lost the ball in mid-field, Houssem Auoar sent a defence-splitting to Dembele, who had just come on, and he beat Ederson to restore Lyon's lead.
Sterling then incredibly aimed high off Jesus from point-blank range and City's fate was sealed when Ederson failed to hold on to Auoar's shot in the 87th, allowing Dembele an easy tap-in for the final score.
"We are happy to be through. It was a tough night. We had a good spirit," Dembele said. "When you are on bench you want to show manager you should be starting. The most important thing is that I could help win the game."