Cologne got a huge win in the relegation battle, Bayer Leverkusen enjoyed the rain in Sinsheim and Freiburg delivered a shock. Bayern Munich overcame a test, but Schalke failed theirs.
Bayern Munich 4-2 Werder Bremen
(Müller 41', Lewandowski 63', 77' — Gondorf 25', Süle o.g. 74')
The Bundesliga leaders had a few scares in their Sunday match against Werder Bremen in the Allianz Arena, but ultimately the defending champs prevailed. Thomas Müller countered Jerome Gondorf's goal with a tremendous turn and volley just before the half. Robert Lewandowski scored two goals in 12 minutes to help Bayern overcome an embarrassing own goal from a corner. Müller capped off the victory with his 100th career Bundesliga goal as Bayern took a 16-point lead atop the table.
Schalke 1-1 Hannover
(Pjaca 16' — Füllkrug 86')
Leon Goretzka returned to Schalke's starting lineup for the first time since he agreed to join Bayern Munich next season. The Schalke fans were not happy to see his return to the field — his first appearance after a 93-day injury absence — as many spectators jeered the midfielder whenever he touched the ball. Marko Pjaca lifted their spirits, scoring his first goal in a Schalke shirt with a terrific turn. But as they have in recent matches, Hannover found a way back into the game and Niclas Füllkrug scored a late equalizer — it was the third straight game in which Hannover came from behind to get a result.
Hoffenheim 1-4 Leverkusen
(Szalai 87' — Bailey 43', Baumgartlinger 52', Alario 69', 90+3')
Hoffenheim hit the post twice and Leverkusen scored four times as the visitors moved into second. Man-of-the-moment Leon Bailey finished off a lovely passing move with an excellent backheel inside the box for the opener. After Lukas Rupp hit the post with a long-range shot just seconds after the restart, Julian Baumgartlinger drilled in a low, curling shot from the edge of the box. Adam Szalai's consolation was wedged in between a Lucas Alario brace as Leverkusen ran riot.
Freiburg 2-1 RB Leipzig
(Haberer 72', Koch 76' — Werner 66')
RB Leipzig's set-piece nightmare continued as two quickfire goals from corners cancelled out Timo Werner's weaker-foot finish to give Freiburg a surprise victory. Peter GulacsiGulacsi: RB Leipzig has matured made a smart save to keep Lucas Höler's volley out in the first half, but Freiburg keeper Alexander Schwolow suffered an injury and had to come off for Rafal Gikiewicz. The sub keeper kept out Timo Werner at first, but then the striker struck what he thought was the winner. Janik Haberer hammered home and then Robin Koch sent a spinning header into the far corner.
Hamburg 0-2 Cologne
(Terodde 27', 67')
A Simon Terodde brace and a handful of top saves by Timo Horn helped reignite Cologne's belief they can stay in the Bundesliga. Terodde poked home from a corner in the first half and converted a high ball in the second to give Cologne their first away win of the season. Hamburg started the game brightly but faded quickly. While still last in the table, this result puts Cologne within four points of the relegation playoff spot.
Mainz 3-2 Stuttgart
(Muto 45+1', 55', Holtmann 63' — Hack o.g. 19', Ginczek 90+1')
Two errors by Ron-Robert Zieler in a wet and muddy Mainz cost Stuttgart big in the relegation fight. Stuttgart had taken the lead when Alexander Hack got the last touch in a comical own goal from the home side. After VAR ruled out a goal for handball in the build-up, Mainz equalized when Yoshinori Muto's hopeful strike left Zieler looking foolish. Muto bundled home a second before Zieler was caught out again - Gerrit Holtmann drilled a shot through the keeper. Daniel Ginczek's header proved too little, too late for the visitors.
Gladbach 2-0 Augsburg
(Ginter 10', Hazard 89')
Surprise package Augsburg were halted by one early and one late goal from the hosts. Matthias Ginter headed home a corner in the first half and Thorgan Hazard converted on a counterattack late in the game to seal the win for Gladbach. Both sides had chances, largely from set-pieces, but the victory draws Gladbach level on points (31) with RB Leipzig.
Wolfsburg 1-3 Eintracht Frankfurt
(Arnold 67' — Haller 18', Chandler 22', Jovic 86')
Wolfsburg halted their own comeback as they paid for a poor first half. Sebastien Haller's fine turn and finish in the box put the visitors ahead before Timothy Chandler tapped home Marius Wolf's low cross at the back post. Maxi Arnold's brilliant free kick appeared to give the hosts a chance, but Landry Dimata's red card left Wolfsburg with too much to do. Luka Jovic scrambled home a third to put the cherry on top for the visitors who moved up to seventh but are just one point off second.
Hertha Berlin 1-1 Borussia Dortmund
(Selke 46' — Kagawa 71')
Once again, a man not even on the pitch was at the center of attention at the start of matchday19 as speculation over Pierre.Emerick Aubameyang's future gathered pace.
The same couldn't be said of a tepid opening half in Germany's capital as both sides failed to register a shot on goal in the first 45 minutes.
Davie Selke soon dealt with that, sweeping in a right wing cross to give his side a lead that was scratched out by Shinji Kagawa 25 minutes later after smart work from Jadon Sancho. Alexander Isak struck the bar late on while Andriy Yarmolenko had a late penalty shout denied but it wasn't to be for Dortmund.