Match ends, Lyon 0, FC Bayern München 3.
Bayern Munich's relentless march through this season's Champions League continued as they brushed aside Lyon to book an 11th appearance in the final of the competition and a showdown with Paris St-Germain.
The German champions have barely had a glove laid on them in Europe this season, with this their 10th straight Champions League win - equalling the record for winning streaks in the competition set by Real Madrid in 2015 and Bayern themselves in 2013 - as part of a 28-game unbeaten run stretching back to December.
And Lyon simply did not have ability or approach over the 90 minutes to buck that trend.
The French side will be left to rue two missed opportunities in the opening quarter, though, with Memphis Depay shooting wide after running clear before Karl Toko Ekambi struck the upright from close range after cutting in from the right.
Moments after the latter effort, Serge Gnabry moved infield and fired a stunning opener for Bayern, who never looked back.
Gnabry also scored the second, with a much simpler finish, following up to tap in after Anthony Lopes had blocked Robert Lewandowski's scuffed effort from point-blank range.
Ekambi could have made matters interesting had he been able to find a way past Manuel Neuer after being set up by Houssem Aouar, but the chance went begging and Lyon's belief with it.
Philippe Coutinho saw a finish ruled out for offside before Lewandowski had the final word, scoring for the ninth European game on the bounce with a header - his 15th in the competition this season.
Bayern's win ends their run of having lost the previous four Champions League semi-finals in which they had appeared. It also keeps them on course for a treble of trophies in Hansi Flick's stellar debut campaign as coach.
Sunday's final promises to be a thriller, pitting arguably the best side in world football against one of the planet's finest forward lines.
- 'This is what you dream about,' says first Canada international to reach Champions League final
- Tears, fears & West Brom - the young spark who bounced back at Bayern
- The Bayern Munich star born in a refugee camp
- Football Daily podcast: Bayern Munich 'Serge' into Champions League final
Bayern's remarkable 2020 continues
It is hard to come up with any fresh superlatives for this Bayern side.
After the stunning 8-2 demolition of Barcelona in the last eight - which had pundits and fans alike purring and sent the Spanish club seemingly into meltdown - Wednesday's game was always going to feel somewhat anticlimactic, despite it being at a later stage of the competition.
The German giants rode their luck a bit early on but once they got their noses in front the tie was only going one way.
Against Barca it was Thomas Muller and Coutinho scoring doubles, here it was Gnabry with polar opposite finishes - one a solo screamer, the other an unmissable tap-in.
Gnabry's goals mean he now has nine Champions League goals this season, has eight in his last eight matches in the competition and has been directly involved in six goals in his last four.
He is second in the scoring charts only to Lewandowski, who has 55 goal in 46 games this season and becomes only the second player to score 15 or more Champions League goals in a single campaign after Cristiano Ronaldo (who has managed it on three occasions).
This is just the tip of the iceberg regarding Bayern's impressive stats:
- They are on the longest unbeaten run across Europe's top five league's (P29 W28 D1 L0), scoring 97 goals during this run (3.4 per game) and winning each of their past 20.
- They are only the fourth team in Champions League history to surpass 40 goals in a single campaign. Only Barcelona in 1999-2000 have netted more in a single campaign in the competition (45) than Bayern's 42 this season.
- They already have two trophies this season, scoring 100 goals to claim their 30th Bundesliga title before also claiming the German Cup.
To a neutral fan these are ominous. For PSG supporters, they are frankly terrifying.
Lyon made to pay for missed chances
There is no shame in losing a semi-final to this Bayern side.
Lyon finished seventh in the curtailed Ligue 1 and were expected by many to last just one more Champions League game when the tournament resumed on 7 August.
But through a mixture of stubbornness, quick, ruthless counter-attacking and possibly some underestimation from their opponents, they were able to shock Italian champions Juventus and Premier League runners-up Manchester City.
Bayern, though, are not as fallible as the French side's previous victims.
If Lyon were to stand a chance then scoring first was imperative, and with a bit more composure from Depay and Ekambi - making the most of the space in behind Bayern's high defensive line - they would have done just that.
It was a particularly tough night for Ekambi, who also missed a glorious chance to redeem himself and restore his side's hope in the second half.
Lyon have still have not reached the final of a major European competition in their 70-year history, but they have at least reminded people that there isn't only one club in France.
Man of the match - Serge Gnabry (Bayern Munich)
'A dream come true' - what they said
Bayern Munich boss Hansi Flick, speaking to Sky: "We knew it would be difficult, they came in off the back of great performances against Manchester City and Juventus. They are strong tactically and they caused us problems early on.
"We know we need to defend better, we said before we couldn't afford to give away the ball easily, but we did."
Bayern Munich's Canadian full-back Alphonso Davies, speaking to BT Sport: "It feels good. Everyone is happy and playing well. We are happy to make it to the final. PSG is a good team, right now we celebrate a bit then we focus on the next game.
"It will be a good game, there will be goals in that game. This is what you dream about as a footballer, playing with the best and against the best in Europe.
"It is a dream come true. Playing in the Champions League and getting to the final is everything you could ask for."
Lyon striker Karl Toko Ekambi, speaking to RMC Sport: "We're thinking we could have done better and we could have scored some goals before they did. Luck wasn't on our side. We missed chances and we were up against a great team. We found out they were unbeatable."
Only Real Madrid have reached more finals than Bayern
- Bayern Munich will play in the final of the European Cup/Champions League for the 11th time in the club's history (equalling AC Milan's record), with only Real Madrid (16) having participated in more.
- Lyon have been eliminated in both of their Champions League semi-final ties, with both coming against Bayern - they have failed to score a single goal across the three games, while conceding seven in return (previously 4-0 on aggregate in 2009-10).
- Only Ruud van Nistelrooy in 2003 (9) and Cristiano Ronaldo in 2018 (11) have scored in as many successive matches in the competition's history as Robert Lewandowski.
- Serge Gnabry has been directly involved in 11 goals in the Champions League this season (nine goals and two assists); only Robert Lewandowski has had a hand in more (20).
- Gnabry is only the second German player to net a brace in a Champions League semi-final, after current Bayern team-mate Thomas Muller back in 2012-13 (two goals v Barcelona).
- Lyon's Rayan Cherki became the youngest player to appear in the knockout stages of the Champions League, aged just 17 years and two days.
- 6Guedes FilhoBooked at 35mins
- 20Marçal de OliveiraBooked at 42minsSubstituted forCherkiat 73'minutes
- 14DuboisSubstituted forTeteat 67'minutes
- 39Guimarães Rodriguez MouraSubstituted forMendes Ribeiroat 45'minutesBooked at 86mins
- 21Toko EkambiSubstituted forReine-Adélaïdeat 67'minutes
- 11DepaySubstituted forDembeleat 58'minutes
- 4Pereira da Silva
- 12Mendes Ribeiro
- 22de Souza Oliveira
- 17BoatengSubstituted forSüleat 45'minutes
- 6Thiago AlcántaraSubstituted forTolissoat 82'minutes
- 18GoretzkaSubstituted forPavardat 82'minutes
- 22GnabrySubstituted forCoutinhoat 75'minutes
- 14PerisicSubstituted forComanat 63'minutes
- 8Martínez Aguinaga
- Antonio Miguel Mateu Lahoz
- Shots on Target
Second Half ends, Lyon 0, FC Bayern München 3.
Attempt missed. Corentin Tolisso (FC Bayern München) right footed shot from the centre of the box is high and wide to the right. Assisted by Kingsley Coman with a cross.
Attempt missed. Thomas Müller (FC Bayern München) header from the right side of the six yard box is close, but misses to the right. Assisted by Joshua Kimmich with a cross following a set piece situation.
Robert Lewandowski (FC Bayern München) wins a free kick on the right wing.
Foul by Maxwel Cornet (Lyon).
Goal! Lyon 0, FC Bayern München 3. Robert Lewandowski (FC Bayern München) header from the centre of the box to the bottom left corner. Assisted by Joshua Kimmich with a cross following a set piece situation.
Thomas Müller (FC Bayern München) wins a free kick on the right wing.
Foul by Maxwel Cornet (Lyon).
Attempt blocked. David Alaba (FC Bayern München) left footed shot from outside the box is blocked.
Thiago Mendes (Lyon) is shown the yellow card for a bad foul.
Joshua Kimmich (FC Bayern München) wins a free kick in the attacking half.
Foul by Thiago Mendes (Lyon).
Attempt saved. Houssem Aouar (Lyon) right footed shot from outside the box is saved in the centre of the goal. Assisted by Rayan Cherki.
Substitution, FC Bayern München. Benjamin Pavard replaces Leon Goretzka.
Substitution, FC Bayern München. Corentin Tolisso replaces Thiago.
Offside, FC Bayern München. Leon Goretzka tries a through ball, but Thomas Müller is caught offside.
Attempt blocked. Leon Goretzka (FC Bayern München) right footed shot from outside the box is blocked. Assisted by Robert Lewandowski.
Foul by Leon Goretzka (FC Bayern München).
Jeff Reine-Adélaïde (Lyon) wins a free kick on the right wing.
- DEVS: Mystery drama that will get you hooked
- Watch the Small Axe trailer: New and powerful series from Steve McQueen