Bayern Munich extended their lead at the top of the German Bundesliga with a 3-0 win at Hamburg as Schalke lost to Hoffenheim.
Bayern took the lead five minutes before the interval through Bastian Schweinsteiger, with Thomas Muller doubling the advantage three minutes into the second half.
Toni Kroos then added a third in the 54th minute as Bayern hit back from last weekend's home defeat to Bayer Leverkusen.
Meanwhile Sven Schipplock scored a stoppage-time winner as Hoffenheim edged out second-placed Schalke 3-2.
Kevin Volland gave Hoffenheim the lead in the 13th minute with Roman Neustadter equalising in the 37th minute.
Roberto Firmino's penalty after 67 minutes pushed Hoffenheim ahead once again before Atsuto Uchida levelled things up in the 82nd minute.
However, Schipplock scored a minute into injury time to seal the victory and leave Schalke seven points behind the leaders.
Borussia Dortmund also lost ground at the top as they were held to a goalless draw by Stuttgart.
Robert Lewandowski hit the woodwork for Dortmund and Stuttgart goalkeeper Sven Ulreich made a string of saves, but the home side were unable to make the breakthrough.
Hannover returned to winning ways at the AWD-Arena with a 2-0 victory over Augsburg.
Mame Biram Diouf scored the opener in the 26th minute and Lars Stindl made the game safe five minutes from time as Hannover bounced back from the defeat against Borussia Monchengladbach which had ended a 22-match unbeaten home run.
Timo Gebhart scored the only goal in the 76th minute as Nurnberg beat Wolfsburg to end a six-match winless streak.
Wolfsburg took a step back after two straight victories under interim coach Lorenz Kostner, remaining lodged in the bottom three with eight points.
Freiburg came from a goal down to share a 1-1 draw with Borussia Monchengladbach.
Igor de Camargo gave Gladbach the lead in the 49th minute but Daniel Caligiuri equalised from the spot in the 77th minute.