Bundesliga Wrap: Dortmund clinch Der Klassiker, Stuttgart edge clear of danger
Goals from Henrikh Mkhitaryan, Marco Reus and Jonas Hofmann handed Dortmund glory in Der Klassiker as champions Bayern - who finished with 10 men following Rafinha's late dismissal - were beaten for the second time in as many Bundesliga rounds.
Pep Guardiola's men wrapped up their title defence in March but have since taken just one point from three matches, while Jurgen Klopp's charges provided a spirited response to their midweek UEFA Champions League exit.
However, much of Saturday's drama took place at the bottom of the table as Stuttgart moved clear of the danger zone with their draw at Borussia Monchengladbach, although they came within a minute of securing victory.
Daniel Didavi's 12th-minute opener looked to have ensured Stuttgart back-to-back wins but Huub Stevens' men were denied when Juan Arango got on the end of Max Kruse's cross just before full-time.
With Hamburg and Nuremberg both tasting defeat on the road, Stuttgart sit a point clear of the relegation play-off spot, with Mirko Slomka's side beaten by fellow strugglers Hannover.
After Lars Stindl opened the scoring nine minutes in but Hakan Calhanoglu levelled just after the break and the visitors looked set to pick up an important away point.
However, Didier Ya Konan picked an ideal time to score his first Bundesliga goal since August to snatch a win that puts the hosts five points clear of danger.
Nuremberg's loss was much more comprehensive as goals from Ivica Olic and Junior Malanda, along with an Ivan Perisic brace, moved Wolfsburg into the final UEFA Champions League place after their 4-1 win.
Eintracht Braunschweig were unable to continue their recent recovery as they fell to a 2-0 loss at Freiburg.
Damir Vrancic put through his own net after just eight minutes, while Julian Schuster doubled the lead 40 minutes later to give the hosts a four-point cushion over Stuttgart beneath them.
Mainz kept the pressure on Bayer Leverkusen for a European place with a dominant 3-0 win over Werder Bremen with all their goals coming in the first half.
Nils Petersen scored an own goal after just five minutes before Christoph Moritz and Yunus Malli added one each to put Mainz a point off stuttering Leverkusen, who face Hertha Berlin on Sunday.