Pierre-Emerick Aubameyang's first-half header was enough for Dortmund to beat title challengers RB Leipzig 1-0 on Saturday.
The first half was a scrappy affair with frequent stoppages until Aubameyang's header opened up the game in the 35th minute.
Ousmane Dembele skipped past Marvin Compper and then Willi Orban before crossing for the Gabon striker's league-leading 17th goal of the season.
Leipzig were without regulars Timo Werner, Diego Demme and Marcel Sabitzer because of illness, while Emil Forsberg was suspended.
Marco Reus went close on a counter-attack after the break, and Aubameyang should have done better too, while Reus missed another two good chances to seal it late on.
Leipzig thought they had equalised in stoppage time but Stefan Ilsanker's goal was ruled out for offside. Despite the visitors' protests, TV replays showed the Austrian was just offside for Oliver Burke's through ball.
Despite their own draw, Bayern's lead atop the Bundesliga grew to four points over Leipzig, while Dortmund moved up to third place, 12 points off the leaders and eight behind their opponents.
But the table is extremely tight behind them, as only two points separate Dortmund and seventh-placed Eintracht Frankfurt after Hoffenheim, Hertha Berlin and Cologne all won earlier on Saturday.