Borussia Dortmund took a giant step towards defending their Bundesliga title with a 1-0 home win over closest challengers Bayern Munich.
Borussia Dortmund 1-0 Bayern Munich
Robert Lewandowski struck the winner on 77 minutes to move Dortmund six points clear with four games remaining.
Bayern had their chances to claim a point, with Arjen Robben the villain as he missed a late penalty before skying over from point-blank range in injury time.
Schalke missed the chance to fortify a Champions League place as they were surprisingly beaten 4-1 at relegation-threatened Nurnberg.
First-half goals from Hanno Balitsch (25), Timmy Simons (37pen) and Daniel Didavi (45) sent Nurnberg on their way to moving six points clear of the drop zone. Lewis Holtby pulled a goal back on 85 minutes but Didavi immediately replied.
Hamburg's relegation worries deepened as they were thumped 4-0 at Hoffenheim. Jannik Vestergaard (17), Sejad Salihovic (25pen), Fabian Johnson (51) and Sven Schipplock (59) scored the goals to leave Hamburg two points from danger.
Bayer Leverkusen stayed above Hannover in the final Europa League place as both sides enjoyed wins on Wednesday.
Bayer Leverkusen beat lowly Kaiserslautern 3-1 thanks to second-half goals from Simon Rolfes (57) and Stefan Reinartz (69). Stefan Kiessling's first-minute opener had been cancelled out by Julian Derstroff on 42 minutes.
Mame Diouf (44) and Didier Konan (77) scored the goals as Hannover beat Wolfsburg 2-1 to keep them behind Bayer on goal difference only.