Borussia Dortmund 1-2 Eintracht Frankfurt
Borussia Dortmund fell seven points behind fourth-placed Eintracht Frankfurt, who registered a 2-1 win at Signal Iduna Park.
Frankfurt took the lead in the 14th minute through Nico Schulz's own goal.
Mats Hummels brought the home side level in the 44th minute with a close-range finish, but Andre Silva struck the winning goal for the visitors in the final two minutes.
RB Leipzig 0-1 Bayern Munich
Bayern Munich extended their lead at the top of the log to seven points after edging RB Leipzig 1-0 in the top of the table clash at Red Bull Arena.
Leon Goretzka scored the only goal of the match for the Bavarians seven minutes before the break as they clinched a crucial a six-pointer.
Bayer Leverkusen 2-1 Schalke
Bayer Leverkusen ended a two-game losing run after beating basement side Schalke 2-1 at BayArena.
Lucas Alario broke the deadlock for Bayer in the 26th minute and Klass-Jan Huntelaar had a goal disallowed by the Video Assistant Referee (VAR) for Schalke on the hour-mark.
Patrik Schick doubled the lead for the hosts in the last 18 minutes and Huntelaar finally pulled a goal back for Schalke nine minutes before time but it was not enough to avoid defeat.
Wolfsburg 1-0 FC Koln
Wolfsburg consolidated their third position on the log after edging FC Koln 1-0 at Volkswagen Arena.
After a goalless first stanza, Josip Brekalo broke the deadlock for Wolfsburg with 21 minutes remaining and that proved to be the winner.
Augsburg 2-1 Hoffenheim
Hoffenheim lost their third game in a row after going down 2-1 against Augsburg at WWK Arena.
Ruben Vargas and Andre Hahn gave Augsburg a two-goal cushion inside the first 23 minutes. Robert Skov pulled a goal back for Hoffenheim in the last five minutes but it was too little too late.
Mainz 1-1 Arminia Bielefield
Arminia Bielefield missed the chance to move out of the relegation zone after they were held to a 1-1 draw by Mainz at Opel Arena.
The first stanza could not produce goals, as Daniel Brosinski broke the deadlock for Mainz 11 minutes from the break from the penalty spot and Andreas Voglsammer salvaged a point for the visitors with the equaliser in the last quarter of an hour.