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 on Saturday.
With runaway league leaders Bayern Munich at relegation-threatened Hoffenheim on Sunday, Dortmund's victory trimmed the Bavarians' lead to 14 points.
"We started well and we were really up for it. After we went 3-1 up, the game was over, but it was an attacking spectacle and a good match to watch," said Dortmund coach Jurgen Klopp.
It was also a perfect result ahead of Tuesday's Champions League last-16 second leg clash with Shakhtar after a 2-2 draw in Donetsk fortnight ago.
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.
Norway striker Mohammed Abdellaoue pulled a goal back for Hanover on 40 minutes after a mistake in the Dortmund defence, but Lewandowski's back-up, Julian Schieber, made sure of the win when he drilled his shot home on 72 minutes.
"That was clearly a deserved win from Dortmund," said Hanover coach Mirko Slomka, whose team were trounced 5-1 at Dortmund in the German Cup in December in their previous meeting.
"We wanted a different result after the cup defeat, but we didn't get a grip on the game."
Bayer Leverkusen stay third, just a point behind Dortmund, after scoring twice in the last eight minutes to come from behind for a 2-1 win at home to VfB Stuttgart.
The guests took a 12th-minute lead when striker Vedad Ibisevic converted a penalty, but Leverkusen striker Stefan Kiessling slotted an 82nd-minute spot kick before midfielder Lars Bender headed the winner four minutes later.
Schalke, who host Dortmund in next Saturday's Ruhr derby, are up to sixth after they beat Wolfsburg 4-1 with 19-year-old midfielder Julian Draxler involved in the first three goals.
Schalke are still in Champions League contention after their last 16, first leg 2-2 draw at Galatasaray with the return in Gelsenkirchen on March 12.
Draxler opened the scoring on 33 minutes, 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 before Draxler then set up the fourth on 79 for Peru's Jefferson Farfan to slam his shot home.
Dutch striker Klaas-Jan Huntelaar hit the fourth on 86 minutes for his first goal in eight games.
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.
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.