Javier Hernandez scored twice as Bayer Leverkusen left Hannover languishing at the bottom of the Bundesliga after a 3-0 win.
Stefan Kiessling headed the hosts in front just after half-time, having previously hit the post, and two goals from Hernandez completed the victory for Roger Schmidt’s side.
A foul by Hiroki Sakai on Kiessling on the hour mark enabled Leverkusen to double their lead with Hernandez stepping up to convert the resultant penalty.
Hernandez netted his 13th goal of the season when the Mexican international held off his marker before slotting a low shot into the bottom corner of Ron-Robert Zieler’s goal, lifting Leverkusen up to fourth and into the Champions League positions.
Borussia Dortmund left it late to beat Ingolstadt 2-0 and reduce the arrears on Bundesliga leaders Bayern Munich to five points on Saturday.
A late Pierre-Emerick Aubameyang brace earned Thomas Tuchel’s men all three points, but not without a struggle against a strong Ingolstadt side.
Aubameyang finally broke the deadlock with just over 10 minutes remaining, heading in Lukasz Piszczek’s cross from six yards out, albeit from an offside position.
Aubameyang’s 20th goal of the season five minutes from time finished Ingolstadt off as this time he timed his run to leave no doubts about being offside before sliding a low shot into the far corner.
Dortmund gave a professional debut to American midfielder Christian Pulisic as the 17-year-old came on in the 68th minute.
Werder Bremen came from behind to snatch a point off high-flying Hertha Berlin in a 3-3 thriller at the Weser Stadion.
Vladimir Darida and Marvin Plattenhardt put the visitors in the driving seat before half-time, but Fin Bartels gave the hosts hope midway through the second half.
Salomon Kalou restored Hertha’s two-goal lead, but a Claudio Pizarro penalty and a header from Santiago Garcia enabled Bremen to take a point from the Bundesliga clash.
Schalke climbed to fifth thanks to a 2-0 win over Darmstadt.
Leroy Sane’s determination in hooking the ball back into play from the goalline was rewarded as the ball finally fell for Max Meyer to put the visitors in front just before half-time.
Sane made it 2-0 himself early in the second half, coolly slotting the ball past Christian Mathenia to seal a comfortable victory.
Augsburg and Eintracht Frankfurt had to settle for a point apiece in a goalless draw in Bavaria with the hosts grateful to their goalkeeper for preventing worse.
Marwin Hitz almost single-handedly kept Frankfurt at bay, making the most spectacular of saves on the hour mark to deny Alexander Meier from close range with a one-handed reflex stop.
In the day’s late game, Stuttgart made it two wins out of two in 2016 with a dramatic but deserved 2-1 victory over Hamburg at the Mercedes-Benz Arena.
Artem Kravets, a new loan arrival from Dynamo Kiev, grabbed an 88th-minute clincher for the home side whose dominance was rewarded.
Augsburg 0 – 0 Eintracht Frankfurt
Bayer Leverkusen 3 – 0 Hannover 96
Borussia Dortmund 2 – 0 Ingolstadt
Darmstadt 0 – 2 Schalke 04
Werder Bremen 3 – 3 Hertha Berlin
VfB Stuttgart 2 – 1 Hamburger SV