Bayern Munich continued their march towards the Bundesliga title with a 2-0 victory in a Bavarian derby at Augsburg.
A Thomas Muller penalty in the 40th minute put them on their way, with Mario Gomez wrapping up the win and taking the Bavarians 11 points clear at the top of the table ahead of Bayer Leverkusen's clash with Hannover on Sunday.
Borussia Dortmund's title hopes suffered another blow, with a 3-2 defeat at home to Wolfsburg leaving the defending Bundesliga champions 14 points adrift of Bayern.
The game started well enough for Dortmund with Marco Reus giving them the lead in the sixth minute, but a red card for Marcel Schmelzer and penalty from Diego, followed by Naldo's volley, turned the game in Wolfsburg's favour.
Although Jakub Blaszczykowski levelled for Jurgen Klopp's men after an hour, Bas Dost netted the winner for the Wolves, who climb seven points clear of the relegation zone as a result.
In the day's late game, Eintracht Frankfurt moved up to fourth in the table with a four-goal second-half salvo to down Werder Bremen 4-1 at the Waldstadion.
After a goalless first half, Alexander Meier scored his tenth goal of the season to give Armin Veh's side the lead. Nils Petersen brought Bremen level soon after, but two goals in a minute from Pirmin Schwegler and Stefan Aigner put Frankfurt in the driving seat before Takashi Inui rounded off the win in the last minute.
Vedad Ibisevic's hat-trick lifted Stuttgart to sixth and level on points with opponents Schalke following a 3-1 win at the Mercedes-Benz Arena.
The Bosnian struck twice in the first half and again in the second period to earn Bruno Labbadia's side three points, with former Stuttgart striker Ciprian Marica on target for the visitors.
Both teams ended the game with ten men. Stuttgart full-back Gotoku Sakai was first to depart in the 67th minute and he was followed six minutes later by Schalke midfielder Jermaine Jones.
Freiburg posted a narrow 1-0 win over Greuther Furth to leave the Bundesliga debutants rooted to the foot of the table approaching the midway stage of the season.
Daniel Caligiuri's 15th-minute strike was enough to earn Christian Streich's side all three points at the Dreisamstadion and take them up to eighth, just two points behind fourth-placed Schalke.
Rock-bottom Furth were punished for a negative approach to the game, with their late rally proving to be too little to prevent their tenth defeat of the season.
Sebastian Polter and Markus Feulner scored the goals which gave Nurnberg three Bundesliga points and a 2-0 win against Fortuna Dusseldorf in their last game at the Frankenstadion in 2012.
Feulner was in sparkling form for the hosts, setting up Polter for the opening goal in the 27th minute before sealing the win himself in stoppage time at the end of a one-sided match.
Fabian Giefer did his best to keep Dusseldorf in the game, but there was little he could do to prevent a defeat which saw the visitors fall behind Nurnberg into 15th place.
Information from the Press Association was used in this report.