Dortmund recovered from midweek defeat at home to Augsburg to move out of the bottom two positions. Bayern, meanwhile, beat Stuttgart, while Andre Schürrle marked a happy return to Germany.
Under immense pressure and eager to finally get back to winning ways, Borussia Dortmund started as they meant to go on against Freiburg on Saturday afternoon. After just 51 seconds, Marco Reus spurned a good chance at the near-post before Shinji Kagawa and Ilkay Gündogan also missed opportunities.
Jürgen Klopp's men were clearly pressing harder and eventually forced an error from their hosts. Under pressure, Mike Frantz's back pass was short and Pierre-Emerick Aubameyang seized upon it to set up Reus to roll into the empty net. The relief was almost palpable.
With the travelling fans continuing their brilliant away support, Dortmund's confidence was starting to grow - Gündogan fizzed another long-range effort past the post. As the half ended, Roman Weidenfeller palmed away Oliver Sorg's drive from well outside the box but it was a rare chance for the hosts.
Dortmund dominant, again
Even before the hour mark, Dortmund had converted another chance as their confidence began to return. Another mistake in midfield allowed Ilkay Gündogan to slip Aubameyang through and the Gabon striker made no mistake, finishing low past Roman Bürki.
Reus stung the hangs of Bürki, but the smiles were back and as the game approached its final stages, a third goal followed. Aubameyang curled home his second of the afternoon to finish off a swift counterattack and the contest. It was Dortmund's first win since the start of December - their first away win since matchday two - and Klopp will be hoping this result is the start of some much-needed good form.
Inspiration fires inspid Bayern to win
Two exquisite goals from Arjen Robben and David Alaba powered Bayern Munich to their first win of the calendar year against relegation-threatened Stuttgart.
Despite the relative comfort in the two-goal margin, Stuttgart enjoyed the superior first 45 minutes, troubling Bayern on the counterattack with Gotoku Sakai challenging Manuel Neuer towards the end of the half.
But with three minutes until the break, Mitchell Weiser afforded Robben a bit of space inside the box and the Dutchman lashed the ball over Sven Ulreich and into the top corner. It was Robben's 12th goal in 16 appearances for the Bavarians this season.
Stuttgart still delivered a strong performance, even in the minutes before Alaba, the Austrian Footballer of the Year for the past four years, arrowed an outstanding free-kick over the wall and into the top corner from about 30 yards.
Chances were scarce towards the end as Stuttgart introduced the likes of Alexandru Maxim and Martin Harnik. Ulreich was rushed into a reaction save on 81 minutes, standing up to block Robert Lewandowski who was one-on-one with the keeper.
Welcome back, Andre
It seemed like Andre Schürrle hadn't been away, as he made his debut for Wolfsburg and his 133rd Bundesliga appearance - his last goal in the league coming against matchday 20 opponents Hoffenheim.
The former Chelsea ace played a hand in the opening goal in the second minute, chipping the ball into the path of Bas Dost who converted from close range.
Then, in the 27th minute, Schürrle's terrific volley careered off the woodwork, falling sweetly to Kevin de Bruyne who continued his fruitful run of form, scoring the point-clinching goal.
With seven minutes to go, the Belgian stole the glory from his new teammate, smashing home his 13th goal of the season to clinch a 3-0 win for the Wolves.
Mayhem in Mainz, calm in Cologne
In Mainz, a red card for goalkeeper Loris Karius in the 31st minute turned the game: Hertha took a grip and went ahead from the resulting spot-kick, converted by Jens Hegeler.
Roy Beerens scored nine minutes later and the Berliners - who had Fabian Lustenberger sent off in the second half - secured their first win since Jos Luhukay was dismissed earlier in the week.
Elsewhere, as Cologne began their Karneval celebrations, the fans were treated to a dull 0-0 draw against Paderborn. The result does nothing for either team's survival ambitions, especially not Paderborn who are now one point above Dortmund and without a win in eight games.
Home win for HSV
Meanwhile, Hamburg leaped into 11th with a 2-1 win over Hannover in Saturday's evening affair.
After a slow start, the Reds were awarded a penalty on 23 minutes, but Spanish striker Joselu failed to convert with Jaroslav Drobny clutching a tame effort.
Within three minutes, Josef Zinnbauer's men had punished Hannover with Zoltan Stieber's cross taking a wild deflection against Marcelo and drifting over the helpless Ron-Robert Zieler. Lightning struck twice five minutes after the restart when Marcell Jansen's strike hit the Brazilian and wrong-footed Zieler.
Despite restoring a one-goal deficit through Artur Sobiech, Hannover were largely toothless and could have conceded more on the break towards the end.