Stuttgart boosted their title hopes with a priceless 1-0 win at Borussia Monchengladbach.
Roberto Hilbert hit the only goal of the game on 53 minutes to send Stuttgart into second spot just one point behind leaders Schalke.
Monchengladbach's miserable day was compounded by the sending off of Steve Gohouri.
Bayern Munich slipped further behind the leading pack after losing 2-1 at home to Hamburg.
Claudio Pizarro gave Bayern the lead on 35 minutes, but Rafael van der Vaart drew Hamburg level on 71 minutes.
Five minutes later Jose Paolo Guerrero Gonzales turned the game on its head by firing Hamburg in front.
Hamburg were forced to hang on for the win when former Tottenham man Thimothee Atouba was sent-off in the closing stages.
Borussia Dortmund climbed further clear of trouble with a 2-0 win over struggling Eintracht Frankfurt.
Two goals from Swiss striker Alexander Frei (39,66) were enough to give Dortmund all three points.
Hertha Berlin piled the misery on struggling Alemannia Aachen with a 4-0 win the German capital.
Gilberto set Hertha on their way with the opener after just six minutes and Christian Gimenez doubled the lead three minutes into the second half.
Marko Pantelic added a third goal on 77 minutes and Yildiray Basturk wrapped up the victory with the fourth goal ten minutes from time.
Mainz remain in trouble after going down 2-1 at home to Hannover.
Arnold Bruggink gave Hannover the lead on 27 minutes and Chavdar Yankov doubled the lead five minutes after the break.
Mohamed Zidan pulled a goal back for Mainz ten minutes from time, but it was too little too late for Mainz.
Nurnberg climbed up to fifth spot with a 1-1 draw with Wolfsburg.
Jacek Krzynowek gave Wolfsburg the lead on 17 minutes, but Andreas Wolf pounced on 25 minutes to give Nurnberg a point.
Click on fixture for full match summary:
Al.Aachen 0-4 Hertha Berlin
Bayern Munich 1-2 Hamburg
B.Dortmund 2-0 E.Frankfurt
B M'gladbach 0-1 Stuttgart
FSV Mainz 1-2 Hanover 96