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 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.