Borussia Dortmund beat holders Bayern Munich 3-2 at the Allianz Arena courtesy of an Ousmane Dembele winner to set up a DFB-Pokal final against Eintracht Frankfurt on May 27.
The young attacker, 19, curled a shot into the corner with 16 minutes left to lead his side to their fourth consecutive cup final.
BVB were beaten 4-1 by their arch-rivals in the Bundesliga at the start of April, but Thomas Tuchel was confident in his pre-match media conference they would do better this time around.
Things indeed did go Dortmund's way early on when Marco Reus scored after some poor play from Javi Martinez, only for the Spaniard to quickly make amends when he equalised after a corner.
Mats Hummels then gave Bayern the lead shortly before the break, but Dortmund refused to give up and Pierre-Emerick Aubameyang levelled halfway through the second half, before Dembele netted the winner.
Wednesday's defeat means Bayern are now on a five-game winless streak in all competitions that also saw them exit the Champions League, while Dortmund are on track to win their fourth DFB-Pokal, having lost the final in each of the last three seasons, the last one against their bitter rivals.