The final matchday of the year delivered a flurry of goals and plenty of drama, leaving the Bundesliga table looking very tight at the halfway stage. Here is all you need to know from Matchday 17.
Good week for: Dramatic draws, last-minute goals, Gladbach, Cologne (yes, really!)
Bad week for: Stuttgart, Frankfurt, Bremen, Leipzig
— Thomas Müller scored in Bayern Munich's 1-0 win in Stuttgart - adding to his remarkable Bundesliga record. In 76 league games in which Müller has scored, Bayern have yet to lose (72 wins, 4 draws). Who says he's out of form?
— Cologne finally won a game. It was the longest any Bundesliga team has ever had to wait for one but on Matchday 17 the carnival club finally had reason to celebrate again. They're still nine points off the relegation playoff spot and 11 away from safety though.
— Germany's two famous Ruhr clubs have set themselves up for a thrilling battle in 2018. Schalke's last-minute draw in Frankfurt leaves them two points and one spot ahead of Dortmund. Last season, Dortmund were nine points and six spots ahead of Schalke but the combination of Domenico Tedesco's arrival and BVB's tough time with Peter Bosz has changed the game. With two wins in two games under new head coach Peter Stöger, BVB are ready for a battle against Schalke in the second half of the season.
— Stuttgart are probably grateful for the end of the first half of the season to have arrived. After a one-goal defeat to Bayern in which they missed a penalty in the final minutes, Hannes Wolf's side only have one point from their last five league games. With their undefeated home form now a thing of the past, Stuttgart are now just two points off relegation.
— It was a matchday of early (three) and late (six) goals. Alfred Finnbogason scored in the first minute and added two more in stoppage time to cap an incredible day and rescue a draw for Augsburg. In Frankfurt, Luka Jovic gave the home side the lead after one minute but Naldo equalized in the 95th minute. Philipp Bargfrede scored after just two minutes for Werder Bremen, but Fabian Frei equalized in the 93rd for Mainz. Dortmund ran out winners after Christian Pulisic's 89th-minute winner. Sven Ulreich didn't score any goals late or early, but he did save a penalty in the fourth minute of added time.
"We were not a bad team, but we are going home with a bad result."
Hoffenheim head coach Julian Nagelsmann after their 2-1 loss to Dortmund
"He unpacked the left hammer today, the one he normally uses to stand on."
Jupp Heynckes on Thomas Müller's second Bundesliga goal of the season
"I think it's incredibly brazen to whistle our team, who played a great game at home, because of a back pass. It gets on my nerves. They should go and watch Bayern or PSG if they want to see attacking football all the time."
Gladbach's sporting director Max Eberl on the fans who whistled a back pass
"Our plan isn't to say: 'We'll let the opposition score two goals because we'll comeback anyway.'"
Schalke's sporting director Christian Heidel after another Schalke turnaround
"Good for the head."
Cologne's captain Matthias Lehmann after their first win of the season
"He can only do braces - and it's better that way."
Gladbach's Thorgan Hazard on his teammate Raffael, who scored two on Friday night
"We will stay up with this team, definitely."
Stuttgart's Michael Reschke on the team's development
"We're all disappointed at the result but it's nothing to do with fatigue."
RB Leipzig coach Ralph Hasenhüttl defends his players' fitness after their defeat to Hertha Berlin
— Gladbach's Nico Elvedi was subbed off on Friday night with a thigh problem. Stuttgart's Simon Terodde looked to have bruised his ribs, while Augsburg's Daniel Opare was brought off early with an apparent muscle injury. Hoffenheim's goalscorer Mark Uth had a wrist issue in Saturday night's defeat to Dortmund.
Hannover's game against Leverkusen was expected to be anything but a thriller, yet it turned out to be the match of the weekend. Leverkusen took the lead, lost it a minute later, were 3-2 down at the break, were 4-3 up with 10 minutes to go but the game finished 4-4. With every attack feeling like it was going to end in a goal, this match will stay in the memory.