Bundesliga Matchday 17 in pictures
Bayern Munich relied on their new supersub again while RB Leipzig ensured they finish 2019 on top of the pile. Elsewhere, Cologne won a third on the bounce and Nils Petersen reached a milestone for Freiburg.
Fortuna Düsseldorf 2-1 Union Berlin
Two goal of the season contenders in the same game helped Fortuna get their first win since the start of November and down the side from the capital. Union had chances to grab the win, but Erik Thommy's sensational strike won the game for the hosts in injury time after Rouwen Hennings equally impressive goal had given Fortuna the lead.
Paderborn 2-1 Frankfurt
In a sensational finish to a decade of Bundesliga football, the league's bottom club secured an enormous win against a Frankfurt side now without a league win since that famous trouncing of Bayern at the start of November. Abdelhamid Sabiri's wonderstrike helped Paderborn on their way to a victory which leaves them just three points off the relegation playoff spot.
RB Leipzig 3-1 Augsburg
The Red Bulls are the Herbstmeister (winter champions) after a surging second-half display saw them ease past Augsburg. Florian Niederlechner took advantage of some great work from Marco Richter to give the visitors a surprise lead early on but second half goals from Konrad Laimer, in-form Patrik Schick and Yussuf Poulsen got the job done.
Cologne 1-0 Werder Bremen
After a shocking start to the season, Cologne end 2019 as one of the league's form teams. Jhon Cordoba bundled home in the first half to secure a third straight win for Markus Gisdol's side. That's one more win than they managed in the first 14 games. The opposite is true for Bremen, who have endured a miserable run of one win in 13. Coach Florian Kohfeldt is under real pressure.
Bayern Munich 2-0 Wolfsburg
For the second time in a week, teenage substitute Joshua Zirkzee stole all three points for Bayern with his first touch. The Dutch forward swept home a low cross in the 85th minute before Serge Gnabry added some gloss four minutes later. Until Zirkzee's introduction, it had been a frustrating afternoon for Bayern and Wolfsburg will feel they deserved more.
Schalke 2-2 Freiburg
A see-sawing contest ended all square in Gelsenkirchen. The home side went in front after 26 minutes when Suat Serdar poked home. But penalties tucked away by Nils Petersen and Vincenzo Grifo put Freiburg ahead after the break. Petersen's strike put him level with Joachim Löw as the club's all-time leading scorer. But Ahmed Kutucu turned home ten minutes from time.
Hertha Berlin 0 - 0 Borussia Mönchengladbach
A third clean sheet in a row will have pleased new Hertha Berlin coach Jürgen Klinsmann but both Hertha and Gladbach looked blunt in Saturday's late game. Both sides had spells of control but the decisive touch was lacking. For Marco Rose's visitors it was an opportunity lost to move level on points with leaders RB Leipzig ahead of the winter break.
Mainz 0-1 Bayer Leverkusen
An injury-time strike from Lucas Alario settled a drab contest and keeps Leverkusen hanging on the coattails of the leading pack. The Argentinian forward had only been on the pitch for 10 minutes, with Leverkusen down to 10 men, but had already seen a strike disallowed for offside before firing a winner that will make Peter Bosz' Christmas a little merrier.
Hoffenheim 2-1 Borussia Dortmund
Late goals from substitute Sargis Adamyan and Andrej Kramaric turned this one on its head as Lucien Favre was left ruing his side's inability to make the most of their chances. Mario Götze gave BVB a 17th-minute lead and the visitors looked in control for long periods. But, once again, they surrendered their advantage to end 2019 on a bum note.