Dortmund lose, six-gun Bayern
Borussia Dortmund suffered just their third defeat of the season, 1-0 at Hoffenheim, to miss out on the chance to set a new Bundesliga record.
Vedad Ibisevic scored the only goal of the game for the home side in the 63rd minute.
Dortmund had won six and drawn two of their last eight games but failed to collect their 12th away victory of the season to set a new league record. They remain well clear at the top of the table with 61 points, 12 ahead of Bayer Leverkusen, who play on Sunday.
Bayern Munich ended a three-game losing streak in emphatic style, 6-0 against Hamburg, in their first match since coach Louis van Gaal's end-of-season departure was announced.
Arjen Robben was Bayern's hero with a hat-trick before being removed early in view of Tuesday's Champions League tie with Inter Milan. Franck Ribery added the fourth before Thomas Muller grabbed a fifth for a dominant Bayern.
Heiko Westermann's late own goal compounded Hamburg's woes and moved Bayern back up to fourth, just two points adrift of third-placed Hannover and their minimum aim of a place in the Champions League next season.
Schalke earned a crucial three points with a 2-1 win against Eintracht Frankfurt which further eased their fears of being involved in a relegation scrap in the closing weeks of the season.
Jose Manuel Jurado opened the scoring for Schalke in first-half stoppage time before Georgios Tzavellas levelled the game after 70 minutes. However, Angelos Charisteas gave Schalke the victory with his goal in the 84th minute.
Substitute Per Nilsson scored two minutes into stoppage time to continue Nurnberg's superb run of results with a 2-1 away victory over struggling Wolfsburg.
Nilsson's goal followed Philipp Wollscheid's effort in the 45th minute which equalised Mario Mandzukic's opener for Wolfsburg after 22 minutes.
Erwin Hoffer's last-gasp goal earned Kaiserslautern their first league victory of 2011 as they came from behind to see off Freiburg 2-1.
Adam Nemec's own goal put the visitors in front in the 21st minute, but the striker scored at the right end to level 12 minutes later. And Hoffer completed the comeback by grabbing the winner two minutes into time added on.
In the late game, Dante scored deep into stoppage time as Borussia Monchengladbach secured a 1-1 draw and a crucial point in their fight against relegation at Werder Bremen.
Sandro Wagner scored Werder's opener after 39 minutes, but the hosts failed to add a second to allow Dante to steal a point.