The Bavarians sealed progression to the DFB-Pokal semifinal by overcoming the holders, who struggled to break down their opposition throughout
An Arjen Robben strike just before halftime was all there was to separate the two teams in a tense match, which saw Roman Weidenfeller make a string of key saves to keep the Bavarians at bay.
With the hosts in superb form, it was Jupp Heynckes' side which showed all of the early initiative. In just the fourth minute, Dante lifted the ball over the top, but neither Bastian Schweinsteiger nor Thomas Muller's outstretched legs could reach it.
Shortly afterwards, Robben forced a great save from Roman Weidenfeller after being played in by Toni Kroos, who later had a great chance of his own after the keeper pushed a deflected cross into his path, but could not adjust his body in time.
At the other end, Dortmund had very little to show for its efforts. Only Mario Gotze looked to be capable of producing anything of note, but all of his efforts were eventually in vain, as the Roten defense stood firm.
Bayern began to exert its dominance on the game more and more as the half wore on. An heroic header from Felipe Santana stopped Dante from reaching a left-wing cross and Dante produced a fine save from Weidenfeller from close-range after a superb ball from Schweinsteiger, before Robben's moment arrived.
The Dutchman had missed two superb chances to open the scoring, sending one over the bar from close range, and forcing the busy Weidenfeller itno another stop, but in the 43rd minute, some hesitant defending from Marcel Schmelzer allowed Philipp Lahm to feed Robben, who lifted the ball into the top corner from 20 yards.
Within seconds of the start of the second half, Muller had a chance to double the advantage, but could not get the ball out of his path, allowing the BVB defence to come back in numbers.
And so it remained. Bayern continued to dominate possession, and while Dortmund had a couple of bright moments on the break, it had little to show for its efforts, save an Ilkay Gundogan effort from distance which Manuel Neuer stopped with ease.
Eventually, though, the club began to craft out better sights of goal. The Germany midfielder had another strike blocked, before Marco Reus, who had been a quiet presence for much of the game, flashed another shot wide of goal.
Bayern, though, was still capable of testing Weidenfeller time and time again, with Kroos having two strikes, one from close range and one from distance, beaten away by the BVB keeper, before Martinez saw an effort an effort tipped over.
Daniel Van Buyten missed the target with a header from a corner, and Dante had two efforts saved by Weidenfeller from another set piece. The keeper was in action late on to deny Mario Mandzukic
Time was rapidly running out for Dortmund to grab an equalizer, and although it pressed and probed, Bayern's defense remained firm and impregnable. Its best chance arrived deep into stoppage time when Lukasz Piszczek crossed for Julian Schieber, who headed over from close range.
In the end, there was no dramatic twist in the tale, and the Bundesliga leaders held on to claim their place in the last four.
Meanwhile, Freiburg has also made the semifinals by producing a superb late comeback to beat Mainz 3-2 after extra-time, with Daniel Caligiuri scoring twice, former Bayern man Ivica Olic found the net as Wolfsburg triumphed over Kickers Offenbach, and Stuttgart claimed a 2-0 win over Bochum.