Munich (Germany) (AFP) – Borussia Dortmund fought back to defeat bitter rivals Bayern Munich 3-2 on Wednesday to reach the German Cup final and shatter the Bavarian giants’ dreams of the double.

A brilliant strike from Ousmane Dembele 15 minutes from the end settled a tie at Munich’s Allianz Arena which had seen Dortmund trail 2-1 at half-time.

It was a dramatic turn-around for Thomas Tuchel’s Dortmund who were hammered 4-1 by runaway leaders Bayern in Munich in the Bundesliga just three weeks ago.

“We came from 2-1 down and still won – that’s crazy,” beamed Tuchel.

“We had completely written off our 4-1 defeat in the league. We played well for 20 minutes and then we let it slip.

“After the break, we kept improving and improving, from the 60th minute we were very good. We certainly had a bit of luck too.”

In a repeat of last year’s final at Berlin’s Olympic Stadium, which Bayern won in a penalty shoot-out, Marco Reus put Dortmund ahead after 19 minutes following a mistake by Munich’s Javi Martinez.

The Spanish international’s lazy back pass was snapped up by Dortmund midfielder Raphael Guerreiro, whose snot hit the post and Reus drilled the rebound.

Martinez made amends by equalising with a header nine minutes later before Mats Hummels put Bayern 2-1 ahead at half-time.

Pierre-Emerick Aubameyang made it 2-2 on 69 minutes when he headed home a superb Dembele cross.

That paved the way for the French teenager to hit the winner with a curling left-foot shot.

Dortmund will play in a fourth consecutive final on May 27, when they face Eintracht Frankfurt, who reached the final on Tuesday with a penalty shoot-out win over Borussia Moenchengladbach.

The cup defeat in Munich leaves Bayern winless in their last five games following back-to-back defeats to Real Madrid which saw them crash out of the quarter-finals of the Champions League.

Carlo Ancelotti’s Bayern are eight points clear in the Bundesliga with four games left, but their dreams of winning the double came a cropper at the hands of Dortmund.