Emil Forsberg struck a late winner at the end of extra time as RB Leipzig overcame determined Werder Bremen 2-1 to reach the DFB-Pokal final in dramatic fashion.
After a scoreless 90 minutes, Leipzig took the lead with a goal from Hwang Hee-chan early in the first extra period, only for a Dayot Upamecano error to gift Leonardo Bittencourt the chance to equalise.
A penalty shoot-out appeared to be on the cards until Forsberg popped up in added time, Hwang heading the ball back across the face of goal for his fellow substitute to convert from close range.
The win means Julian Nagelsmann remains on course to deliver a first major trophy for Leipzig before his departure, the Bayern Munich-bound coach set to lead his current employers against either Borussia Dortmund or Holstein Kiel in the showpiece fixture in Berlin on May 13.
Defeat was tough on Bremen, who have lost seven in a row in the Bundesliga to slip into relegation trouble.
Josh Sargent had their best chance in normal time; the forward slotting narrowly wide having broken clear of the Leipzig defence.
The hosts thought they had been awarded a penalty just prior to the interval, only for referee Manuel Grafe to overturn his original decision.
Having initially ruled that Nordi Mukiele had tripped Davie Selke, the official instead deemed the latter to have initiated contact after reviewing the incident on the pitchside monitor.
Willi Orban saw a towering header hit the crossbar, while substitute Christopher Nkunku fired against a post during a second half that saw Leipzig firmly on top.
A breakthrough finally arrived early in the first period of extra time, with Hwang rolling a left-footed shot beyond Jiri Pavlenka, but Upamecano's pass intended for Peter Gulacsi only teed up Bittencourt, who rounded the onrushing goalkeeper before chipping into the unguarded net to make it 1-1.
Leipzig responded impressively to the setback, though, and after creating a late spell of pressure as Werder faded, Forsberg popped up in the right place to volley in the decisive goal at the death.
What does it mean? Leaving gift on the cards
It was confirmed this week that Nagelsmann is to take over at Bayern at the end of the season, the champions-elect turning to their closest challengers in the Bundesliga to replace Hansi Flick.
The 33-year-old admitted he will leave with a "heavy heart", but there is still work to do with Leipzig yet. While second place looks inevitable in the league, a cup triumph would be a well-received parting gift ahead of Jesse Marsch taking charge.
Strength from the bench
Leipzig's five replacements - Yussuf Poulsen, Benjamin Henrichs, Nkunku, Forsberg and Hwang – all made an impact after coming on.
The visitors had 28 attempts in total but just seven were on target. Indeed, defensive duo Ibrahima Konate and Upamecano were the only players not to register an effort at goal.
More downs than ups for Dayot
Like Nagelsmann, Upamecano is off to Bayern at the end of the season. The defender endured a difficult outing here, letting Sargent slip beyond him in the first half for a chance that the striker sent narrowly wide.
His attempt to send the ball back to Gulasci did have far greater consequences as Bittencourt punished his mistake, though Forsberg made sure it did not matter in the final reckoning.
Leipzig host potential final opponents Dortmund next Saturday, while Werder have a home game against Bayer Leverkusen as they switch their attention to safeguarding their top-flight status.