Dortmund defeat champions Bayern in Munich
Bayern youth product Mats Hummels sealed Dortmund's first win in Munich since October 1991 with a powerful header on the hour after first-half strikes from Lucas Barrios and Nuri Sahin.
The hosts, who dropped to fourth place 16 points behind their opponents, had briefly levelled through Luiz Gustavo but were largely toothless in the second half.
Bayern's defeat came only four days after their 1-0 win at Inter Milan in the Champions League round of 16, first leg.
"I am really happy," Dortmund coach Jurgen Klopp told reporters. "It is a great day for us because we had not won here in almost 20 years. We wanted to play a special game and we did just that."
Hanover 96 continued their fine season even without injured top scorer Didier Ya Konan, snatching a last-minute 1-0 win at St Pauli with a goal from Christian Schulz to move up to third place on 44 points.
Mainz 05 also needed a late goal from Colombian Elkin Soto to beat Hoffenheim 2-1, moving up to fifth with 40 points.
Cologne overcame their injury problems when a lovely chip from Lukas Podolski in the 89th minute gave them a 1-0 win over Freiburg. It was their fifth straight home win.
Spaniard Raul salvaged a 1-1 draw for Schalke 04 against Nuremberg with his 11th league goal of the season early in the second half, cancelling out a first half goal by Jens Hegeler.
With 22-year-old Australian goalkeeper Mitchell Langerak making his Bundesliga debut, Dortmund got off to a dream start when Kevin Grosskreutz pounced on a Bastian Schweinsteiger mistake and perfectly timed a pass for Barrios to slot home his 11th league goal after nine minutes.
The two sides played what was arguably the finest first half so far this season and Luiz Gustavo brought Bayern level, volleying in a Franck Ribery corner after 16 minutes.
Turkey international Sahin, however, struck back just two minutes later by curling a left-footed shot past keeper Thomas Kraft.
Hummels, who has blossomed into a Germany international after failing to establish himself at Bayern, made sure of the three points when he rose above the Munich side's defence to head in a Mario Goetze corner on the hour.
"The title was already out of reach before this game," conceded Bayern coach Louis van Gaal. "They scored at the right times. We dominated in the second half but could not create any chances because we could not find a way through their defence."