RB Leipzig maintained top spot on the Bundesliga table after coming from behind to thrash Augsburg 3-1 at Red Bull Arena.
Florian Niederlechner gave the visitors an early lead but Leipzig rallied to net three second-half goals from Konrad Laimer, Patrik Schick and Yussuf Poulsen.
FC Koln won their third straight game in the Bundesliga after edging Werder Bremen 1-0 at RheinEnergieStadion.
Jhon Cordoba broke the deadlock for the hosts six minutes before the break and that was enough to secure three points, as they moved out of the relegation zone and dragged Bremen to the drop zone.
Ten-man Bayer Leverkusen moved up to sixth on the table after edging Mainz 1-0 at Opel Arena.
After a score-less first stanza, Bayer were reduced to ten men with 19 minutes remaining after Wendell got his second yellow card.
Nevertheless, the visitors managed to net the winner deep in stoppage time courtesy of Lucas Alario.
Ahmed Kutucu scored ten minutes before time for Schalke to salvage a 2-2 draw against Freiburg in a four-goal thriller at Veltins-Arena.
Suat Serdar got the opener for the hosts in the first stanza but Nils Petersen and Vincenzo Grifo both netted penalties in the second stanza to give Freiburg a 2-1 lead. However, Kutucu snatched the equaliser for the hosts in the last ten minutes.
Borussia Monchengladbach missed the chance to go level on points with log-leaders RB Leipzig after they were held to a goalless stalemate by Hertha Berlin at Olympiastadion Berlin.