Bayern Munich stretched their lead at the top of the Bundesliga to 18 points with a 6-1 defeat of Werder Bremen.
Mario Gomez scored two goals and set up another as the hosts dominated their 10-man opponents in coach Jupp Heynckes' 1,000th Bundesliga match as coach and player.
Arjen Robben opened the scoring in the 25th minute and Javi Martinez made it 2-0 moments later.
Sebastian Prodl was red-carded in the 44th minute before fellow Bremen defender Theo Gebre Selassie scored an own goal after 49 minutes. Gomez increased the lead to 4-0 in the 51st minute.
Kevin de Bruyne pulled a goal back for Bremen in the 58th minute, but Franck Ribery joined in with the scoring in the 86th minute before Gomez netted again in the final minute.
Didier Ya Konan scored twice as Hannover bounced back from their exit from the Europa League with a 5-1 victory over Hamburg.
Mame Biram Diouf opened the scoring in the seventh minute for Hannover before Rafael van der Vaart equalised from the spot in the 13th minute.
Szabolcs Huszti converted a penalty for Hannover in the 39th minute and Ya Konan made it 3-1 in the 45th minute before deciding the match for good with his second goal after 68 minutes.
Mohammed Abdellaoue added a fifth in the 85th minute. Stuttgart, who made Europa League progress on Thursday, were held to a 1-1 draw at home by Nurnberg.
Ibrahima Traore gave the hosts the lead six minutes into the second half but they failed to hold on with Markus Feulner grabbing the equaliser after 77 minutes.
Defender Joel Matip scored two goals as Schalke picked up an important 2-1 victory against Fortuna Dusseldorf.
Wolfsburg earned a 1-1 draw at Mainz despite playing with 10 men for an hour.
Niki Zimling gave Mainz the lead after five minutes and Naldo equalised in the 15th minute but Wolfsburg then went a man down at the half-hour mark when Alexander Madlung was shown the red card.
Augsburg beat relegation rivals Hoffenheim 2-1. Ji Dong-won scored just before half-time and Sascha Molders doubled the lead 11 minutes from time, before Igor de Camargo replied two minutes into injury time.