Bayern Munich extended their lead at the top of the Bundesliga with another comfortable victory at the Allianz Arena, this time beating local rivals Nurnberg 4-0.
Mario Gomez grabbed a brace with Bastian Schweinsteiger and Franck Ribery also on target for the home side, who were able to take it easy in the second half in view of their Champions League tie with Napoli next Wednesday.
Nurnberg never posed a threat to Manuel Neuer's goal as the Bayern goalkeeper kept yet another clean sheet, his ninth of the season in the league.
Klaas Jan Huntelaar scored twice within three second-half minutes as Schalke continued their march up the table with a convincing 3-1 victory at home over Hoffenheim.
Raul opened the scoring in the 28th minute for Schalke before Vedad Ibisevic equalised in the 63rd minute. Huntelaar converted a penalty to give Schalke back the lead in the 73rd minute and struck a second time in the 76th minute to decide the game.
Reigning champions Borussia Dortmund missed the chance to keep the pressure up on leaders Bayern Munich after being held to a 1-1 draw at Stuttgart.
Serdar Tasci gave Stuttgart the lead after 22 minutes before Dortmund equalised in first-half stoppage-time through Lukasz Piszczek.
Third-placed Dortmund, who had won their previous four matches, pushed for the win late on but had to settle for the draw to slip five points behind Bayern.
Marco Reus scored twice as Borussia Monchengladbach returned to winning ways with a hard-fought home 2-1 victory over Hannover.
Reus opened the scoring for Gladbach in the 21st minute and, after Hannover had equalised through Emanuel Pogatetz five minutes later, the striker struck a second time in the 51st minute to give his side the victory.
Gladbach had not won in their last three matches but moved on to 20 points to remain among the leading teams. Hannover have collected just one point in their last four away matches and stay on 18 points.
Pierre-Michel Lasogga's late goal gave Hertha Berlin the lead for a third and final time in a thrilling 3-2 victory at Wolfsburg to get their campaign back on track.
Raffael gave Hertha the lead after 27 minutes before Mario Mandzukic levelled four minutes later, only to see Levan Kobiashvili convert a penalty for the visitors after 37 minutes.
Wolfsburg equalised again in the 84th minute through Marcel Schafer, but Lasogga hit back a minute later with the winner. Hertha stopped their two-game losing streak in the Bundesliga, while Wolfsburg have just one victory in their last four games.
In the late game, Claudio Pizarro set up a goal and scored a historic one as Werder Bremen came from behind to beat Mainz 3-1.
Niko Bungert gave Mainz the lead after 23 minutes only to see Pizarro equalise in the 29th minute, his 150th Bundesliga goal. Aaron Hunt made it 2-1 for Bremen after 47 minutes and Sebastian Prodl sealed the win 12 minutes from time.