Chances were at a premium for the most part, but the match really came to life when Bayern opened the scoring for the first time in nine league matches against Dortmund through Toni Kroos. Mario Götze responded soon after and though both teams went in search of a second, neither could have any complaints with the final score.
Living up to its billing
In a fast and furious opening, there was no sign of either side letting their opponents settle into proceedings. Bayern created all the early pressure, forcing Dortmund onto the back foot. A Franck Ribery volley that flew wide was the best chance initially, as the hosts made hard work of breaking down BVB's well-organised two banks of four.
The pace of the game was relentless, with high quality one and two-touch passing. Dortmund's pressing game almost produced an opening goal after a nervous moment for Manuel Neuer went unpunished by Robert Lewandowski. Team-mate and compatriot Jakub Blaszczykowski then outmuscled Dante, only to produce a tame effort having been thrown off balance by the defender's challenge.
The guests' patient approach was dependant on Bayern making mistakes, but with both sides producing tactically-astute performances, they ended up cancelling each other out. Kroos and Sven Bender each had harmless efforts from long range and though Ribery provided a constant threat for the hosts, even the Frenchman's ingenuity couldn't create a clear sight of goal.
Neither side shied away from the occasion, but after Holger Badstuber was stretchered off, it was BVB who took the initiative. The visitors' speed in transition proved a menacing feature of their approach play and almost saw them take the lead when Marco Reus' volley forced Neuer to produce the first real save of the game to keep the scores level at the break.
Kroos' speculative strike from the edge of the area got the second half underway, but Dortmund were the side who maintained their momentum from the latter stages of the first half as they began taking more risks. A quickly-taken free-kick by Reus caught Bayern's backline out, yet having made a superb run, Mats Hummels failed to make proper contact and the chance went begging.
Roman Weidenfeller was called upon to deny Mario Mandzukic from distance, but despite still boasting the lion's share of possession, die Münchner weren't having things their own way anymore. Dortmund were turning the screw, with Marcel Schmelzer and Götze both going close to breaking the deadlock. However, having been unsuccessful in capitalising on their period of pressure, BVB fell behind shortly after the hour mark.
Mandzukic had time and space to control and play in Kroos, who forced Hummels to commit, before jinking past Neven Subotic and burying a low shot into the far corner. Bayern continued to push forward in search of a second, but were soon made to pay for some lax defending.
A last-ditch challenge from Jerome Boateng prevented Blaszczykowski from testing Neuer, but the resulting corner was cleared only as far as Götze, who controlled on his chest before drilling a half-volley through the bodies and into the bottom corner. In the closing stages, Weidenfeller singled himself out as the Dortmund hero by making three world-class saves to deny Kroos, Müller and, finally, Javi Martinez to ensure that his side stretched their unbeaten run against Bayern in the Bundesliga to five matches.
Line-ups and statistics
James Thorogood reporting from Munich