Bayern Munich went top of the Bundesliga for the first time since September by thrashing Wolfsburg.
Borussia Dortmund, who were nine points clear at the top in December, beat Stuttgart 3-1 but have now slipped behind Bayern on goal difference.
Serge Gnabry and Robert Lewandowski put the hosts 2-0 up with close-range finishes before James Rodriguez added a third from the edge of the box.
Thomas Muller, Joshua Kimmich and Lewandowski’s second sealed the rout.
Poland forward Lewandowski is now the top-scoring foreign player in Bundesliga history, with 197 goals. Former Bayern striker Claudio Pizarro, who is still playing in the German top flight with Werder Bremen at the age of 40, was the previous record-holder with 195.
Paco Alcacer and Christian Pulisic scored late goals for Dortmund, who won for only the second time in nine games in all competitions.
They led when Marco Reus scored a penalty, which was awarded by the video assistant referee after Jadon Sancho was fouled by Gonzalo Castro.
Marc-Oliver Kempf’s header from Castro’s free-kick saw Stuttgart level but Alcacer scored from close range after a scramble in the box. Chelsea-bound Pulisic added a third in injury time.
Bayern, who have won the past six German titles, are now two goals above Dortmund on goal difference.