Cologne throw away a 3-0 lead to lose 4-3 to Freiburg in one of the games of the season. On Saturday, Werder Bremen got the better of Borussia Dortmund and Bayern Munich stretched their lead at the Bundesliga summit.
Cologne 3-4 Freiburg
(Klunter 8', Guirassy 16' pen, Stanko 29' og — Petersen 39' 90' pen, 90'+5 pen, Haberer 65')
Nils Petersen scored two penalties at the death as Cologne threw away a 3-0 lead to lose 4-3 to Freiburg in an extraordinary game in the snow.
Cologne — still without a Bundesliga win this season — raced into a 3-0 lead after the game was delayed for 30 minutes while the snow was removed from the field. Lukas Klünter opened the scoring in the eighth minute before Sehrou Guirassy scored a debatable penalty to make it 2-0.
A Caleb Stanko own goal made it three as Cologne built what appeared to be an unassailable lead, but Freiburg were about to mount a comeback for the ages.
Petersen lashed in a sweet volley from close range to plant some seeds of doubt before half time. Those started to bloom when Janik Haberer added a second midway through the second half.
Then came the late penalty drama. Nicolas Höfler went down in the box and again there were question marks over the decision, but Petersen dispatched from the spot before the forward scored another penalty, this time in the 95th minute after a Guirassy handball, to make it 4-3 and complete Cologne's misery.
Gladbach 1-1 Schalke
(Kramer 24', Vestergaard OG 62')
A Jannik Vestergaard own-goal rescued Schalke a share of the spoils in their top-four tussle with Gladbach, which closed out play on Saturday.
The Foals had taken the lead when Christoph Kramer poked home at the back post following Matthias Ginter's flick on.
Both sides were evenly-matched and chances were forthcoming at either end of the pitch, Schalke threw caution to the wind in the second half and, having failed to beat Yann Sommer in goal themselves, it was teammate Vestergaard who got the better of his own keeper, deflecting Daniel Caligiuri's cross into the bottom corner.
Borussia Dortmund 1-2 Werder Bremen
(Eggestein 26', Aubameyang 57', Gebre Selassie 65')
Borussia Dortmund's decline continued apace as they slipped outside of the top six after failing to pick up three points for the ninth straight game in all competitions.
Maximilian Eggestein gave the visitors a deserved lead when he found the far corner with a stunning strike from just inside the BVB box.
Dortmund had to wait until the second half to register their first shot on target, but despite drawing level through Pierre-Emerick Aubameyang, ended the game empty-handed thanks to Theodor Gebre Selassie's headed effort.
RB Leipzig 2-2 Mainz
(Kampl 39' Quaison 39', Werner 45', Berggreen 87')
Mainz twice came from behind to take a precious point off of high-flying RB Leipzig.
Kevin Kampl broke the deadlock, sweeping home from Diego Demme's cutback, but the lead was short lived with Robin Quaison poking home on the rebound after Peter Gulasci produced a fine save to claw out Daniel Brosinski's free-kick.
Timo Werner restored Leipzig's advantage with a late first-half penalty following a clumsy challenge on Demme by Leon Balogun. However, there was a late twist in the tale with substitute Emil Beggreen heading home to hand Mainz a share of the spoils.
Eintracht Frankfurt 0-1 Bayern Munich
Arturo Vidal got his name on the scoresheet for the fourth Bundesliga weekend running as the Chilean's goal proved the difference between Bayern and Frankfurt.
With Robert Lewandowski named on the bench, it was Joshua Kimmich's pin-point cross that found Vidal at the back post as he nodded Bayern in front - a lead that rarely looked under threat against the Eagles.
Ante Rebic and Jetro Willems went closest for the hosts, who could not prevent Bayern from ensuring they would remain top of the table until at least the New Year.
Hamburg 0-0 Wolfsburg
Wolfsburg only managed to muster two shots on goal throughout the full 90 minutes of their goalless draw with Hamburg.
The hosts invested more in the opening exchanges, but despite carving out chances, proved wasteful in front of goal as Tatsuya Ito, Filip Kostic and Jann-Fiete Arp all failed to find the back of the net.
With Wolfsburg struggling to find their feet going forward, HSV will feel hard done by not to have taken all three points, but can have few complaints about the result given their profligacy in front of goal.
Stuttgart 0-2 Bayer Leverkusen
(Havertz 20', Bender 80')
Bayer Leverkusen produced another impressive performance as a goal in each half saw off Stuttgart and propelled them to fourth in the table.
Good work by Leon Bailey on the flank created an opening for Kai Havertz, who didn't have to break stride as he finished low under Ron-Robert Zieler.
Stuttgart threatened to draw level in the second half but a string of fine saves by Bernd Leno kept the visitors ahead, with Lars Bender sealing the win with a late header after another Bailey assist.
Hannover 2-0 Hoffenheim
(Fuellkrug 59', Harnik 85')
Hannover enjoyed a 2-0 win in heavy falling snow at home to Hoffenheim.
Niclas Fuellkrug and Martin Harnik scored their goals, which both came in the second half as the hosts finally broke Hoffenheim's resistance.
Under Julian Nagelsmann, Germany's coach of the year in 2016, Hoffenheim have now dropped eight points in their last four games.
Augsburg 1-1 Hertha Berlin
(Cauibry 74' — Kalou 90'+1)
Salomon Kalou scored a stoppage time equaliser to deny Augsburg.
The home side eventually made the breakthrough courtesy of Caiuby's strike, after Hertha keeper Rune Jarstein failed to deal with a corner.
But Augsburg were unable to hang on for a win that would have sent them fourth, with Kalou scoring from close range in the 91st minute to deny the hosts.