Mario Gomez grabbed a hat-trick - although he later limped off - Arjen Robben scored twice, one from the penalty spot, and both Toni Kroos and Franck Ribery got in on the act as Hoffenheim succumbed to their first defeat under Markus Babbel.

It was also a Bayern player who got on the scoresheet for Hoffenheim's consolation late on, with Luis Gustavo putting through his own goal in the 85th minute.

Augsburg did their Bavarian rivals a favour by holding Dortmund to a 0-0 draw tonight.

The struggling hosts extended their own unbeaten streak to three games to move out of the bottom three as they prevented Dortmund from setting a new club record of nine wins in a row.

Simon Jentzsch made a world-class save in the second half as he got his fingertips to Kevin Grosskreutz's header to push the ball wide of the post at full stretch. It was the closest Dortmund came to scoring as they were unable to respond to Bayern's emphatic success.

Wolfsburg got back to winning ways after a three-game drought with a 3-2 win over fifth-placed Bayer Leverkusen, whose nightmare week continued.

Stefan Kiessling put the visitors in front in the third minute, but the Wolves turned the game around rather fortunately with goals from Patrick Helmes and Ashkan Dejagah giving them the lead at half-time against the run of play.

Michal Kadlec gifted them a third with an own goal after an hour before Eren Derdiyok pulled one back for Leverkusen in stoppage time.

Nine-man Cologne made sure Christian Clemens' goal was decisive as they beat 10-man Hertha Berlin in a feisty relegation battle.

Clemens scored the only goal of the game in the 36th minute before Cologne went a man down in the 66th minute as Mato Jajalo was red-carded.

Then both teams saw a man get sent off in the 76th minute - Levan Kobiashvili for Berlin and Lukas Podolski of Cologne.

Ten-man Mainz held on for a nervous home victory over Nuremberg to put more space between themselves and the relegation zone.

Nicolai Muller gave Mainz the lead in the first minute and Mohamed Zidan made it 2-0 after 22 minutes to leave the hosts in control.

However, Daniel Didavi pulled a goal back for Nuremberg in the 64th minute and then Mainz lost Adam Szalai to a second yellow card in the 84th minute, setting up a tense finale.

Freiburg kept up their excellent record against sides from the upper echelons of the Bundesliga as they picked up a point at Borussia Monchengladbach.

The Bundesliga strugglers, who have beaten Schalke and drawn with Bayern Munich in two of their last three games, frustrated third-placed Gladbach to boost their chances of avoiding relegation.

Gladbach's slim title hopes are now all but over, though, after they failed to win for the third game running.