Bayern Munich will face RB Leipzig in the German Cup final next month after Robert Lewandowski fired them to a 3-2 win over a valiant Werder Bremen on Wednesday.
Lewandowski scored twice in a highly entertaining last-four tie to reach the final for the 23rd time.
Bremen were unfazed by their role as underdogs, attacking Bayern all night and briefly overturning a two-goal deficit.
Yet Lewandowski's late penalty ultimately decided a fiery cup tie in Bayern's favour.
Both sides threw everything forward in the first half, with Milot Rashica in particular causing endless headaches for the Bayern defence.
Lewandowski put Bayern in front on 36 minutes, however, and Thomas Mueller appeared to land the sucker punch when he scooped in a second just after the hour mark.
Rashica, though, hauled Bremen back into the tie with two minutes of magic.
The Kosovan set up Yuya Osako to pull a goal back on 74 minutes, before tearing through Bayern with a brilliant solo run a minute later to net the equaliser.
Yet Lewandowski restored the lead from the spot on 80 minutes after Kingsley Coman went down in the box.
Bayern will face RB Leipzig in the final at Berlin's Olympic Stadium on May 25, where they hope to win the trophy for the 19th time.