Both sides named strong teams for the match as Thomas Tuchel chases his first major piece of silverware with Dortmund and Carlo Ancelotti pursed a domestic double in his first season in Germany.
It was Dortmund who took the lead as some slack defending from Javi Martinez presented Marco Reus with a tap-in that he duly took.
However Bayern responded really well with first Martinez equalising with a powerful header, and then his defensive partner Mats Hummels finishing well to complete the turnaround.
DFB-Pokal
Aubameyang penalty seals cup for Dortmund
27/05/2017 AT 19:55

Bayern Munich's German defender Mats Hummels (C) and his team mates celebrate the second goal for their team during the German Cup DFB Pokal semifinal football match between FC Bayern Munich and BVB Borussia Dortmund in Munich, on April 26, 2017.

Image credit: Getty Images

In the second-half Dortmund came out pressing as they desperately looked for the equaliser.
They put Bayern under intense pressure and eventually their patience was rewarded when a deep cross from Dembele found its way to Pierre-Emerick Aubameyang who headed into the empty net.
Minutes later they had taken the lead when Reus slipped the ball out to Dembele and he cut back onto his left before curling a shot into the top corner off the bar.

Dortmund's French midfielder Ousmane Dembele (C) celebrates with teammates after the second goal for Dortmund during the German Cup DFB Pokal semifinal football match between FC Bayern Munich and BVB Borussia Dortmund in Munich, on April 26, 2017.

Image credit: Getty Images

Bayern felt they should have had a penalty after that but instead the referee elected to book Xabi Alonso for what he felt was a dive under pressure from Dembele.
Dortmund will face Eintracht Frankfurt in the final and the match will be played on Saturday 27 May.
Bayern will have to contend themselves with the Bundesliga title, which they lead by eight points with just four games remaining.
DFB-Pokal
Man Utd loanee Varela suspended by Frankfurt
24/05/2017 AT 16:26
DFB-Pokal
Frankfurt in German Cup final after Gladbach shootout win
25/04/2017 AT 21:59