Hosts Borussia Dortmund warmed up for their looming Champions League clash at home to Shakhtar Donetsk with a 3-1 win over Hanover 96 to stay second in the Bundesliga.
With runaway league leaders Bayern Munich at relegation-threatened Hoffenheim on Sunday, Dortmund's victory provisionally trims the Bavarians' lead to 14 points.
Poland striker Robert Lewandowski, who had only been allowed to play on Friday after the German Football Association (DFB) reduced his three-match ban, scored twice in the first-half as the hosts raced into a 2-0 lead after 21 minutes.
With Germany defender Mats Hummels out with flu, Brazilian Felipe Santana took over at centre-back, but his poorly timed clearance header needed a save from goalkeeper Roman Weidenfeller.
The parry fell into the path of Norway striker Mohammed Abdellaoue, who headed home for Hanover on 40 minutes.
Lewandowski's back-up, Julian Schieber, who started on the right wing, made sure of the win when he headed the ball onto Dortmund's Poland midfielder Jakub Blaszczykowski, then drilled home the return pass on 72 minutes.
Schalke, who host Dortmund in the Ruhr valley derby next Saturday, are up to sixth after they beat Wolfsburg 4-1 with teenage midfielder Julian Draxler, 19, involved in the first three goals.
Having dropped from second to tenth at the start of February, Schalke are still in Champions League contention after a 1-1 draw at Galatasaray with the return leg in Gelsenkirchen on March 12.
Draxler, who is on the fringes of the Germany squad, opened the scoring with a great shot on 33, then hit the post with Wolves goalkeeper Diego Benaglio beaten before scoring the third despite the attention of four defenders on 63 minutes.
US midfielder Jermaine Jones picked up his fifth yellow card, meaning he will miss next Saturday's Dortmund clash.
Draxler then set up the third on 79 minutes from a three-on-three situation when he sprinted clear before squaring for Peru's Jefferson Farfan to slam his shot home before Klaas-Jan Huntelaar hit the fourth on 86 minutes.
Croatia striker Ivica Olic had pulled a goal back for Wolves with 50 minutes gone, but they remain 15th, just above the relegation places having reached the German Cup semi-finals in midweek by beating third division Kickers Offenbach.
Bremen suffered their third straight defeat, dropping to 13th, after they suffered a 1-0 win at home to Augsburg, who remain third from bottom, while Nuremberg moved up to 12th with a 1-1 draw at home against Freiburg.
Hamburg drop to seventh after their 1-1 draw at home against bottom side Greuther Fuerth while third-placed Bayer Leverkusen host mid-table Stuttgart at home on Saturday night.
On Friday, Moechengladbach went eighth after picking up their first win in seven games thanks to Luuk de Jong's goal with a 1-0 victory over Eintracht Frankfurt, who remain fourth despite having now gone five games without scoring.