Bayer Leverkusen 3-1 FreiburgBayer Leverkusen scored three goals in four minutes late in the first half as they surged back to the top of the Bundesliga with a 3-1 victory at home over Freiburg.
Stefan Kiessling opened the scoring in the 36th minute and was followed just a minute later by Eren Derdiyok, before Sami Hyypia made it 3-0 after 39 minutes. Felix Bastians cut the deficit to 3-1 in the 66th minute.
Bayern Munich 3-0 MainzBayern Munich claimed a comfortable 3-0 win over Mainz at a wintry Allianz Arena.
After a frustrating first half, Bayern finally went ahead in the 58th minute through Daniel van Buyten. Mario Gomez and Arjen Robben completed the scoring to seal the Bavarians' seventh straight victory.
Schalke 2-0 HoffenheimSchalke's fifth home win in a row kept them in the chase for the Bundesliga title and condemned Hoffenheim to their seventh game without a win.
Kevin Kuranyi put Schalke ahead in the 19th minute and Lukas Schmitz sealed the 2-0 win for the Royal Blues early in the second half.
Stuttgart 4-1 Borussia DortmundStuttgart scored three goals in the final 15 minutes to sink Borussia Dortmund 4-1 and continue their climb up the table.
Stuttgart went ahead after 15 minutes after Dortmund defender Felipe Santana's own goal before Lucas Barrios equalised in the 55th minute.
But Zdravko Kuzmanovic made it 2-1 for the hosts with his free-kick in the 77th minute, Ciprian Marica added an 86th-minute third and Christian Trasch netted two minutes later as Stuttgart extended their winning streak to four games.
Hamburg 1-1 WolfsburgOn Friday, a last-gasp strike by substitute Piotr Trochowski earned Hamburg a 1-1 draw against Wolfsburg to keep them within touching distance of the top four.
The hosts looked to be heading for only their third defeat of the season at their AOL Arena as they trailed to a first-half goal from Edin Dzeko.
But Trochowski struck in the second minute of stoppage time to snatch a draw for Hamburg and move them a point behind fourth-placed Borussia Dortmund.
German Bundesliga Top Six Standings
Team P W D L Fr Ag Pts Bayer Leverkusen 20 12-8-0 45:16 44 Bayern Munich 20 12-6-2 42:17 42 Schalke 04 20 12-5-3 31:15 41 Borussia Dortmund 20 10-6-4 28:23 36 Hamburg 20 9-8-3 37:21 35 Werder Bremen 20 7-7-6 37:24 28