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 and goalkeeper Ederson not looking good on Lyon's third.

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.

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.

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.

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 Rudi 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 Raheem Sterling on the right, and Steling 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.