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.
“It was the tough game that we were expecting,” man of the match Thomas Mueller told ARD.
“Football is fun in an atmosphere like this. I have to say, I’m a bit of a Bremen fan. I love watching them, and their fans are great.”
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 Mueller appeared to land the sucker punch when he scooped in a second just after the hour mark.
“It was what my friends would call a classic Mueller goal: not much to look at but I enjoyed it,” Mueller told ARD with a laugh.
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.
“We told James Rodriguez to get ready to go on, and by the time he had tied his laces, they had scored twice,” Bayern coach Niko Kovac told ARD.
Yet Lewandowski restored the lead from the spot on 80 minutes after Kingsley Coman went down in the box.
Bremen’s Max Kruse claimed the penalty decision was “laughable”.
“Why do we have VAR? If he doesn’t review that, we may as well just get rid of it,” Kruse told ARD.
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.