Watch: Dortmund outlasts Bayern on Dembele's winner in DFB Pokal semifinal
Borussia Dortmund is headed back to the DFB Pokal final after outlasting Bayern Munich 3-2 in an intense, chance-filled edition of Der Klassiker at Allianz Arena on Wednesday.
After a pair of Bayern Munich defenders allowed the club to take a lead, a pair of Dortmund's attacking stars answered, with Pierre-Emerick Aubameyang and Ousmane Dembele scoring the decisive goals.
Bayern's Javi Martinez and Mats Hummels scored to erase an early deficit, with Bayern Munich leading 2-1 after the opening half.
Martinez was largely at fault for Dortmund's opener, with Marco Reus pouncing after a bad back pass gifted Dortmund's star a chance to tap into an empty net in the 19th minute.
Martinez made up for it nine minutes later, though, heading home off Xabi Alonso's corner in the 28th minute to pull Bayern level.
Hummels gave Bayern the lead minutes before halftime, taking a squared ball from Franck Ribery and finishing like a forward to score against his former side. He followed with a muted celebration.
After Bayern missed a golden opportunity to make it 3-1 after an adventurous sequence for Dortmund goalkeeper Roman Burki and a goal-line clearance off the post by Sven Bender, Dortmund pulled even. Aubameyang headed home from the near post after Dembele's cross, making it 2-2 in the 69th minute.
Dembele, 19, then took it upon himself to give Dortmund its second lead, showing poise and composure in the box, taking a pass from Reus, cutting back on a defender and putting a left-footed curler inside the far post in the 74th minute.
U.S. international Christian Pulisic entered with 10 minutes to go, replacing Lukasz Piszczek with Dortmund trying to see out the match and reach the final.
Deep into the five minutes of stoppage time, Bayern thought it had a free kick from close range, but it was Martinez who was whistled for a foul on Reus prior to any Dortmund offense, sending play the other way.
Dortmund finished the job from there, clinching a place in the DFB Pokal final for a fourth straight season. In the last three years it's lost to Bayern twice and Wolfsburg once. It last won the competition–for its fourth title–in 2012.
Dortmund will play Eintracht Frankfurt for the trophy after the club outlasted Borussia Monchengladbach 7-6 in penalties following a 1-1 draw on Tuesday.
The final, on May 27 in Berlin, will feature a pair of Americans with Pulisic going up against Eintracht Frankfurt fullback Timmy Chandler.