Bayern held as Lewandowski lifts Dortmund
Bayern, who have now kept a clean sheet in 11 consecutive games, opened up a three-point lead at the top of the table.
Hoffenheim kept the Bavarians, who looked sluggish following their 2-0 win over Manchester City in the Champions League in midweek, in check and twice went close to securing a surprise win through Ryan Babel.
"We had a huge match on Tuesday and we have worked a lot in recent weeks," Bayern coach Jupp Heynckes told reporters.
"We can live with this result. You could feel today the players were not really that fresh," said Heynckes who did not start Arjen Robben after the Dutch winger told him he was not fully recovered from injury.
"If he had felt fit he would have played from the start. It was a joint decision."
Dortmund bounced back in style from their midweek Champions League defeat by Olympique Marseille to surge to fourth with 13 points.
Polish striker Lewandowski scored from close-range on the half-hour and added his second after 44 minutes when he pounced on a defensive error by Gibril Sankoh.
Dortmund keeper Roman Weidenfeller made a spectacular save from Sankoh's penalty just after the restart before a charging Mario Gotze latched on to a Lewandowski pass and flicked the ball over the visiting keeper for the third.
Lewandowski completed the rout with a glancing header in the 78th minute, his fifth league goal of the season.
Third-placed Borussia Monchengladbach, on 16 points, lost ground with a 1-0 defeat at Freiburg.
Bayer Leverkusen snatched a 3-1 home win over VfL Wolfsburg with Eren Derdiyok scoring the goal of the day with a bicycle-kick in the 65th minute.
Earlier, Wolfsburg's Mario Mandzukic beat his marker in the air to head the equaliser after Gonzalo Castro had given the hosts a first-half lead.
Stefan Kiessling added a third goal five minutes from time to help Leverkusen move up to seventh on 13 points.
Hertha Berlin climbed to ninth after ending Cologne's short two-game winning streak with a 3-0 victory.