The two sides couldn’t be separated after extra-time and all four of the Bavarians’ penalty takers missed their spot-kicks, leaving BVB to book their place in the DFB-Pokal final.
Bayern Munich suffered penalty shoot-out embarrassment after missing all four of their spot-kicks as they were dumped out of the DFB-Pokal semi-finals by Borussia Dortmund.
After normal time ended with the sides level at 1-1, the extra 30 minutes failed to produce a winner – though Kevin Kampl did see red for Dortmund.
Bayern goalkeeper Manuel Neuer missed the crucial spot-kick after Philipp Lahm, Xabi Alonso and Mario Gotze had also failed from the spot to send Jurgen Klopp’s men through 2-0 on penalties in his final season at the helm.
Earlier Robert Lewandowski had put Bayern ahead with his third goal in as many games against the club he left for the Allianz Arena in July last year.
However, that was cancelled out in the 75th minute by Pierre-Emerick Aubameyang, who struck from close range to force extra time.
Arjen Robben, who had come on to mark his return from injury seven minutes before that goal, limped off late on to inflict another blow on Bayern, who were crowned Bundesliga champions for the third season running on Sunday.
The hosts’ luck appeared to be in when Dortmund substitute Kampl was sent off for a second bookable offence in the additional half an hour, but they could not force a way through and Pep Guardiola’s men saw their hopes of a treble ended as the visitors kept their cool in the shootout to seal a place at the Berlin showpiece.
It did not start well for last season’s Pokal runners-up, though, as Dortmund were caught cold by former talisman Lewandowski in the 29th minute.
The Poland striker raced on to a superb long ball from the returning Medhi Benatia following an errant Shinji Kagawa pass at the other end and fired home on the rebound at the near post after seeing his initial chipped effort strike the woodwork.
Guardiola’s side continued to dictate matters after the interval, a near-post save from Mitchell Langerak preventing Thomas Muller from adding a second after 48 minutes.
Lewandowski then curled a shot against the crossbar before Bayern were denied what looked to be a clear penalty as Marcel Schmelzer handled in the area in the same passage of play.
Robben came on in the 68th minute to make his return from an abdominal muscle tear that has kept him out for five weeks, but the Allianz Arena was silenced by Aubameyang seven minutes later.
Neuer could only parry the Gabon striker’s shot after it had crossed the line as he slid in at the far post to convert Henrikh Mkhitaryan’s ball across the face of goal.
Aubameyang then almost turned provider after Robben limped off to be replaced by Gotze. He slipped Marco Reus through on goal, only to see Neuer rescue Bayern with a fingertip save round the post to force extra time.
An unmarked Bastian Schweinsteiger headed over Xabi Alonso’s free-kick in the first half of additional time and the game then turned in Bayern’s favour when Kampl was dismissed for a second bookable offence.
Schweinsteiger was then brilliantly denied a winner in the 114th minute as his point-blank header was kept out by the legs of Langerak, who was perhaps fortunate to concede a penalty when he collided with Lewandowski.
Dortmund held on to ensure a shootout and saw Bayern’s first three all miss, with Neuer’s save from Mats Hummels immaterial as the Bayern goalkeeper crashed the subsequent spot-kick against the bar.