Borussia Dortmund fought back to stun bitter rivals Bayern Munich 3-2 on Wednesday to reach the German Cup final and shatter the Bavarian giants’ dreams of the double
Marco Reus had put Dortmund ahead, before Javier Martinez’s towering header and Mats Hummels’ tidy finish gave Bayern a 2-1 lead at the break.
Pierre-Emerick Aubameyang brought Dortmund level, before Dembele curled into the top corner with 15 to play.
Thomas Tuchel’s side go on to play Eintracht Frankfurt in the final.
Frankfurt, who are ninth in the Bundesliga, beat Borussia Monchengladbach on penalties in the other semi-final on Tuesday.
The final will be held at Berlin’s Olympiastadion on 27 May.
Dortmund will be competing in a record fourth successive final, having lost twice to Bayern and also to Wolfsburg in the past three seasons.
They have not claimed a major trophy since the 2011-12 season, when they won the double under Jurgen Klopp.
Bayern, who won the domestic treble last season, must now focus on wrapping up a fifth straight Bundesliga after also being eliminated from the Champions League last week by Real Madrid.
Carlo Ancelotti’s men are nine points clear with four games left, but have now gone five games without a win in all competitions.