Borussia Dortmund took advantage of Bayer Leverkusen's alarming slump by beating Nuremberg 3-0 at home to move second in the Bundesliga.
Leverkusen lost 1-0 at home to Mainz for its fifth consecutive defeat across all competitions, its eighth from 10 games. Eric Maxim Choupo-Moting scored with his heel in the 37th minute for Mainz.
Second-half goals from Mats Hummels, Robert Lewandowski and Henrikh Mkhitaryan gave Dortmund a comfortable win after a difficult first half.
Werder Bremen beat Hamburger SV 1-0 in the league's 100th northern derby to leave its rival mired in the relegation playoff place.
Augsburg drew with Hannover 1-1 and Eintracht Braunschweig drew with Borussia Moenchengladbach by the same score.
Bayern Munich aims to stretch its lead to 20 points with a win over Schalke later.