Serge Gnabry fired Bayern Munich into the Champions League final after a 3-0 win over Lyon.
The winger's double helped book a showdown with PSG after the French champions' 3-0 win over RB Leipzig on Tuesday.
Robert Lewandowski grabbed his 55th goal of the season late on as Bayern continued their unstoppable march to the final after their 8-2 quarter-final humiliation of Barcelona.
Lyon, quarter-final conquerors of Manchester City, had plenty of chances before Bayern struck with Memphis Depay going close and Karl Toko Ekambi hitting the post.
But five-time winners Bayern will now aim to reclaim the trophy they last won in 2013 in Lisbon on Sunday.
In an astonishingly open start Lyon had the opportunities to put themselves in control of the match.
Depay shot into the side netting as he tried to round Manuel Neuer before Bayern wasted their own excellent chance after 11 minutes.
Leon Goretzka swapped smart passes with Lewandowski but miscued his shot and Anthony Lopes was able to scramble it behind.
Ligue 1 Lyon side continued to cause Bayern problems though and Jerome Boateng made a crucial interception from Maxwel Cornet's cross as Ekambi waited in the middle.
Ekambi then had another chance after 17 minutes only for his low effort to come off the base of the post.
And the forward and Lyon were left to rue the missed chances when Gnabry brilliantly opened the scoring 60 seconds later.
The former Arsenal winger collected the ball on the right and cut inside and, with Lyon unable to stop him, unleashed a sensational drive into the top corner from the edge of the box.
Bayern took control and Lopes saved Gnabry's low drive before the winger grabbed his second after 33 minutes.
The 25-year-old started the move and fed Ivan Perisic, Lewandowski somehow failed to convert the Croatian's cross but Gnabry pounced from close range for his 23rd goal of the season.
Lyon could not handle the ex-West Brom loanee and Lewandowski just failed to connect with his cross eight minutes before the break.
Hansi Flick's Bayern remained in charge after the restart and Perisic should have made it 3-0 only for Lopes to save his tame effort.
Lyon needed to score to find any way back in the game but Marcelo sent a header too close to Neuer.
The German international then stopped Ekambi from pulling a goal back after 59 minutes.
Moussa Dembele, on for Depay, found Houssem Aouar whose low ball was begging to be converted but Neuer blocked Ekambi's strike.
Despite the warnings, Bayern refused to panic and regained their composure, with Philippe Coutinho curling wide with 12 minutes left.
The Barcelona loanee then had a goal ruled out for offside but Lewandowski wrapped up victory with two minutes left.
Joshua Kimmich swung in a free-kick and the Poland striker's header found the bottom corner.