Robert Lewandowski netted twice to move past 50 goals for the season as Bayern Munich beat Bayer Leverkusen to win a record 20th German Cup and 13th domestic double.
David Alaba’s free-kick put them ahead and Serge Gnabry added a second, before Lewandowski’s long-range shot was fumbled in by Lukas Hradecky.
Sven Bender’s header gave Leverkusen hope but Lewandowski’s delicate dink put the result beyond doubt.
A rip-roaring game still had more drama as Kai Havertz scored a penalty with the last kick for Leverkusen.
Bayern Munich have set a new club record of 26 games unbeaten, only drawing once in that run since December.