Borussia Dortmund bounced back from last week's home defeat against Hamburg by seeing off fourth-placed Eintracht Frankfurt 3-0.
They did, however, finish with 10 men for the second straight weekend.
It was Marco Reus who single-handedly dismantled the Eagles with a hat-trick as the Bundesliga champions moved back within 15 points of runaway leaders Bayern Munich, who won 2-0 at Wolfsburg on Friday night.
The Germany international netted two goals in as many first-half minutes and added a third midway through the second half after Julian Schieber had been given his marching orders.
Bayer Leverkusen snapped a three-game winless streak with a 2-1 home victory over relegation-threatened Augsburg to remain in the running for second.
Stefan Kiessling opened the scoring for Leverkusen in the 26th minute and Lars Bender doubled their advantage 15 minutes from time.
Sascha Molders made things interesting by pulling a goal back for the visitors in the 89th minute, but they could not force an equaliser.
Rafael van der Vaart's brilliant first-half goal proved decisive as Hamburg boosted their hopes of European football with a 1-0 triumph over Borussia Monchengladbach.
The Holland midfielder despatched a fine effort into the top-left corner from outside the box in the 24th minute.
Michael Bastos scored a brace as Schalke twice came from behind to draw 2-2 at Mainz.
Mainz went ahead through Andreas Ivanschitz in the 27th minute, but Bastos levelled four minutes before the break. Zdenek Pospech restored the hosts' lead midway through the second half, but Bastos ensured the visitors a draw with eight minutes left.
Freiburg twice saw Werder Bremen equalise before finally taking the lead and finishing off a 3-2 victory, recording their first win over Bremen in 11 years.
Max Kruse gave Freiburg the lead after 36 minutes before Nils Petersen equalised moments later.
Daniel Caligiuri made it 2-1 to the visitors from the penalty spot in the 55th minute, and, although Petersen's second levelled it up again nine minutes later, Matthias Ginter's 70th-minute strike finally settled it.
Finally, Axel Bellinghausen's early goal was enough for Fortuna Dusseldorf to defeat 10-man Greuther Furth 1-0 at home in a battle of promoted teams.
Dani Schahin missed an early penalty for the hosts before Bellinghausen grabbed the game's only goal in the 18th minute. Bottom-of-the-table Furth had midfielder Jozsef Varga sent off in the 38th minute for a second bookable offence.
The final two matches of the Bundesliga weekend includes a local derby between Hoffenheim and Stuttgart.
The sides are vying for a European position, much like the other match between Nuremberg and Hannover.
Saturday's Bundesliga Results
Sunday's Bundesliga Fixtures
Friday's Bundesliga Fixture