It was Lyon who started the game better, but they failed to convert a host of chances in the first half.
Memphis Depay shot wide after running clear, before Karl Toko Ekambi struck the woodwork from close range.
Moments later, Bundesliga side scored first through Serge Gnabry’s rising drive. The winger then doubled their advantage before the break.
Robert Lewandowski added the third goal with a bullet header, his 15th goal in the competition this season.
With this victory, Bayern will now play Paris Saint-Germain in Sunday’s final showdown.