Christmas nears and the winter break beckons, to the envy of players in England and much of Europe. Here's your one-stop shop for the Bundesliga's weekend results, including Cologne's first win of the season.
Borussia Dortmund 2-1 Hoffenheim
(Aubameyang 63' pen, Pulisic 89' — Uth 21')
Borussia Dortmund pulled three points out of the bag in an even game against Julian Nagelsmann's Hoffenheim. Christian Pulisic's cool finish at the death provided Peter Stöger with his first home win since taking over. Hoffenheim might feel hard done by not to have secured at least a point. The defeat means that Hoffenheim will winter outside the European places, but it's so tight at the top that all that could change the moment the teams return from the winter break.
Frankfurt 2-2 Schalke
(Jovic 2', Haller 66' — Embolo 82', Naldo 90+4')
Saturday's afternoon games were marked by a flurry of early and late goals, and this one was no exception. The hosts, who have a woeful home record, looked set for an unlikely three points for most of the match. But substitute Breel Embolo and defender Naldo had other ideas, salvaging a point for the Royal Blues.
Hannover 4-4 Leverkusen
(Bebou 12', Füllkrug pen. 20', Klaus 45', Korb 83' — Brandt 11', Mehmedi 25', Bailey 47', 66')
Leverkusen finished 2017 with their unbeaten streak at 12 games – the best in the Bundesliga this season – after perhaps the most thrilling game of the weekend.
Julian Brandt's superb volley was cancelled out by Ihlas Bebou's diving header just a minute later. Niklas Füllkrug sent Bernd Leno the wrong way from the spot after the video assistant overturned the original decision. Five minutes later though, the game was level again when Admir Mehmedi's near post effort left Philipp Tschauner looking red-faced. Klaus' curling shot from a Füllkrug backheel deflected off Tah and went in to end a thrilling half. Substitute Leon Bailey needed just two minutes of the second period to level the scores again, though. Bailey continued to make an impact as the Jamaican added his second from a move that started with a Hannover corner. He - and Leverkusen - might have scored more and their failure to do so cost them as Julian Korb scrambled home a fourth for the hosts in a remarkable game.
Read more: Leon Bailey provides the difference again
Cologne 1-0 Wolfsburg
Cologne double their points total for the season with 90 minutes' work, finally bagging their first league win. That said, they still trail 17th-placed Hamburg by nine points. Wolfsburg, meanwhile, will winter in 12th position. They've drawn a whopping 10 of their 17 league games, winning just three.
RB Leipzig 2-3 Hertha Berlin
(Orban 68', Halstenberg 90+2' — Selke 6', 51', Kalou 31')
RB Leipzig continued to stumble towards the end of 2017 as they lost at home to the 10 men of Hertha Berlin. Davie Selke scored in both halves to leave Leipzig reeling. After Selke's opener, Jordan Torunarigha was sent off for a clumsy challenge on Timo Werner as the striker broke through. But being a man down didn't stop Hertha – Salomon Kalou's header at the near post from a free kick doubled the scores. Diego Demme hit the bar, but the hosts looked short of quality and Selke made them pay, converting from a corner. Captain Willi Orban scored and although Marcel Halstenberg bravely headed in a second, it was too little, too late.
Stuttgart 0-1 Bayern Munich
Stuttgart put up a stout show against the league leaders, with former Bayern star Holger Badstuber marshaling the defense. But Thomas Müller finally found a chink in the armor, picking up a low pass from Kingsley Coman and rifling it home with his left. Stuttgart had a golden chance to equalize with a stoppage time penalty, but the spot kick was poor and former Stuttgart keeper Sven Ulreich ruined the home fans' day.
Augsburg 3-3 Freiburg
(Finnbogason 1', 90+1', 90+3' — Günter 20', Petersen 48', 65')
Ever the streaky striker, Nils Petersen has hit a rich vein of form. He's netted six in three Bundesliga games this week, including Saturday's diving header from point-blank range — seemingly Freiburg's away comeback. But Alfred Finnbogason had other ideas. Augsburg's hitman, who had scored seconds after the off, headed home two more in stoppage time to salvage a point.
Werder Bremen 2-2 Mainz
(Bargfrede 2', Belfodil 17' — Quaison 70', Frei 90+3')
Werder drag themselves past HSV and into 16th with a point, but missed the chance to leapfrog Mainz before the winter break. The visitors refused to lie down in the second half, restoring parity with virtually the last kick of the game.
Borussia Mönchengladbach 3-1 Hamburg
(Hazard 9', Raffael 74' 79' — Hahn 53')
Dieter Hecking's Foals were like lightning out of the gates on Friday night, dominating the early phases of play and opening the scoring within 10 minutes. By the time Thorgan Hazard put them ahead, defender Reece Oxford had already rattled Hamburg's crossbar from one of several early corners.
Gladbach struggled to put the fixture to bed, and their old boy Andre Hahn put the result in serious doubt by finishing off Aaron Hunt's intelligent through ball. His former employers weren't impressed, especially seeing as they'd given him a commemorative gift before kick off.
But the Foals were able to secure three deserved points, as Raffael netted twice in quick succession to finish the fixture. Thorgan Hazard's unselfishness was crucial in creating the killer blow with 10 minutes remaining.