Bayern Munich came from behind to move to the top of the table, while Borussia Dortmund moved into fourth spot.
Arjen Robben sent Bayern Munich back to the top of the table with both goals in the 2-1 win over Freiburg.
Struggling Freiburg threatened a major upset when Cedrick Makiadi fired the visitors in front after 31 minutes at the Allianz Arena.
Robben came to Bayern's rescue when he equalised 14 minutes from time when he scored from a free-kick.
The Dutchman grabbed the winner for Bayern on 83 minutes when he converted from the penalty spot after Thomas Mueller was upended inside the box.
Borussia Dortmund moved into fourth spot in Die Bundesliga, while Wolfsburg thumped Borussia Monchengladbach.
Borussia Dortmund proved too strong for Bochum running out 4-1 winners to boost their hopes of securing European football next season.
Dortmund were gifted the lead on 18 minutes when Marcel Maltritz put through his own net and Egyptian ace Mohamed Zidan added a second on 27 minutes.
Lewis Holtby pulled a goal back for Bochum on 53 minutes, but two goals in three minutes from Lucas Barrios (74, 77) secured all three points for Dortmund.
Reigning champions Wolfsburg climbed into the top half of the table with a 4-0 success over Borussia Monchengladbach.
Zvjezdan Mismovic set Wolfsburg on their way with the opener four minutes before the break and Edin Dzeko doubled the lead from the penalty spot four minutes after the break.
Christian Genter added a third just before the hour mark and Dzeko notched a fourth ten minutes from time
Hannover came from behind to beat basement boys Hertha Berlin 2-1 thanks to substitute Angelos Charisteas' last-gasp goal.
Theofanis Gekas gave Hertha the lead on 36 minutes, but goals from Albert Bunjaku (61) and Charisteas gave Hannover the points.
Ten-man Mainz moved into seventh spot with a 1-0 victory over Cologne.
Aristide Bance was sent off for Mainz on 27 minutes, but Andre Schurrle came off the bench to grab the winner on 56 minutes.
Hannover boosted their survival hopes with a 2-1 win over Eintracht Frankfurt.
Leon Andreasen fired Hannover in front after 14 minutes only for Halil Altintop to draw Frankfurt level right on the stroke of half-time.
Frankfurt were reduced to ten men on 54 minutes when Selim Teber saw red and Hannover made their numerical advantage count with Sergio Pinto netting three minutes later.
Maik Franz was dismissed in stoppage time to complete a miserable afternoon for Frankfurt.