Bayern Munich 2-1 FreiburgArjen Robben came to Bayern Munich's rescue for as his side went back to the top of the table with a 2-1 win.
Robben's two goals enabled Bayern to come from behind to claim all three points against strugglers Freiburg.
Cedric Makiadi had put the visitors ahead in the 31st minute, but a 76th-minute free-kick and then an 83rd-minute penalty from the Holland winger took them back above Schalke to the summit of the table.
Franck Ribery was left in the stands by Bayern coach Louis van Gaal after he revealed that the Frenchman had needed painkilling injections to get through the Fiorentina game in midweek.
Schalke 2-1 StuttgartSchalke had moved temporarily to the top with a 2-1 home victory over Stuttgart on Friday night.
Former Germany striker Kevin Kuranyi struck the winning goal after 56 minutes following a frantic 10-minute period when all three goals in the game were scored.
Edu Goncalves opened the scoring for the hosts less than a minute after his introduction as a half-time substitute before Serdar Tasci equalised after 50 minutes before Kuranyi had the final say.
Bayer Leverkusen 4-2 HamburgBayer Leverkusen kept the heat on Bayern Munich and Schalke at the top of the Bundesliga with a 4-2 win at home to Hamburg.
Stefan Kiessling netted twice, opening the scoring in the 22nd minute and making it 3-1 just after the hour mark.
Eren Derdiyok had restored Bayer's advantage in the 55th minute following Ze Roberto's equaliser (33).
David Rozehnal scored a second for Hamburg seven minutes from time to give them hope, but Gonzalo Castro re-established the hosts' two-goal cushion a minute later.
The win moved third-placed Bayer to within a point of Schalke and three of Bayern.
German Bundesliga Top Six Standings
Team Pl W D L Fr Ag Pts Bayern Munich 26 16 8 2 53:22 56 Schalke 04 26 16 6 4 42:20 54 Bayer Leverkusen 26 14 11 1 56:25 53 Borussia Dortmund 26 13 6 7 43:33 45 Hamburg SV 26 11 10 5 46:30 43 Werder Bremen 26 11 9 6 51:31 42