Bayern Munich beat Mainz 2-0 to stretch their league lead. Meanwhile, Schalke and Bayer Leverkusen both dropped points in the afternoon matches. RB Leipzig's new loanee Ademola Lookman scored the winner at Gladbach.
Full time. Borussia Mönchengladbach 0-1 RB Leipzig.
90+2' — Gulasci rescues the points for the Leipzig, saving Thorgan Hazard's shot. Lars Stindl tried to get in on the follow-up but a defender was able to intervene.
89' — GOAL, Leipzig (Lookman). The boy's only gone and done it. Ademola Lookman dribbles across the Gladbach back line and then fires low with his right foot for the bottom corner, beating Tobias Sippel. Welcome the Bundesliga, Ademola!
87' — Glad it's not just us at something of a loss for words...
78' — Debut for loanee Ademola Lookman, he'll play the last few minutes, and at 0-0 the script still has space for a surprise hero.
74' — Naby Keita with an excellent opportunity arriving to meet a great cross. It was just the wrong height to head or volley, so Keita tried to improvise using his thigh, which didn't end well. Over the bar.
66' — One of several chances for Timo Werner in this game, a back post header. He couldn't keep the ball down, and it looked like Sippel had the ball covered if it dipped low enough.
60' — Curling shot from Marcel Sabitzer forces a sharp save at full stretch out of Tobias Sippel. Corner Leipzig...
59' — Sub Gladbach: Herrmann makes way for Michael Cuisance.
51' — Double chance for Gladbach on the break, Gulasci denies Patrick Herrmann first, and then Herrmann tees up Lars Stindl, but a Leipzig defender manages to block his effort. This is much better, lads. Glad the half time refreshments had an impact on the play.
49' — Timo Werner with a deflected shot from close in, should possibly have done better.
Second half begins.
45' — HALF TIME. Goalless, and frankly a little dull at this stage. Leipzig have probably had more of the game, but not by much.
39' — Goals from the Foals, bullish Leipzig attacks? We'll take any cheap animal metaphor you can throw our way at this stage. Gladbach's drummers in the stands are about the only thing providing this game with any rhythm.
22' — Dangerous Leipzig corner from Kevin Kampl, flicked on at the near post by Sabitzer, but his header drifts out of play rather than finding someone at the back post.
15' — Tobias Sippel to the rescue at the other end for Gladbach. Bruma wriggled free in the box and made space for a shot. He was looking for the top corner but Sippel was equal to the task.
14' — Big chance for Thorgan Hazard! He dribbled past Upamecano on the break but was denied by Peter Gulasci in the Leipzig goal.
11' — As so often, the Saturday evening "Topspiel" ("top game") is struggling to live up to its billing thus far. Plenty of probing but no end product from either side.
— Tobias Spieler is the referee for this evening's game, and we're about to kick off.
— RB Leipzig's English loanee, Ademola Lookman, is also on the subs' bench for the game. Little wonder given the existing attacking talent at Leipzig's disposal. Portugal's Bruma will start in Lookman's most natural position, on the left flank. Timo Werner and Marcel Sabitzer will be hoping to score past Gladbach's number 2 keeper Sippel.
— Gladbach and Leverkusen will kick off 45 minutes from now. For Gladbach, youngster Michael Cuisance is moved to the bench. Otherwise the team is much as you'd expect, with Lars Stindl and Thorgan Hazard at the front. Tobias Sippel, Tony Jantschke and Vincenzo Grifo return to the starting XI, English loanee Reece Oxford (returning for his second Gladbach stint) is on the bench.
These afternoon results put even more pressure on Borussia Mönchengladbach and RB Leipzig ahead of their evening match. With Schalke, Leverkusen and Hoffenheim all dropping points, both Gladbach and Leipzig could go third in the table (at least temporarily) with a win. Only eight points currently separate Bayer Leverkusen in second and Hoffenheim down in ninth. Bayern Munich, meanwhile, stretch their league lead to 18 points.
Full time around the grounds. Here are the results:
Hertha Berlin 1-1 Hoffenheim
Freiburg 0-0 Bayer Leverkusen
Schalke 1-2 Werder Bremen
Mainz 0-2 Bayern Munich
Wolfsburg 1-1 Stuttgart
90+3' — GOAL, Werder Bremen (Junuzovic). This is not a game for the Ralf Fährmann scrap book. A great scooped pass over the top from Aron Johansson releases Maximilian Eggestein, who gets the ball between Fährmann's legs. The Schalke goalie probably fouled Eggestein, but it didn't matter: Zlatko Junuzovic was on hand to help the ball into the open goal.
Schalke 1-2 Werder Bremen.
89' — If the results stay like this, Eintracht Frankfurt could go second with a win against Augsburg on Sunday.
79' — GOAL, Werder Bremen (Kruse). Max Kruse scores with his first shot of the game, profiting from a real howler from Ralf Fährmann in Schalke's goal. Fährmann fumbled a direct free kick hit right down his throat, Kruse was quickest to react. Both goals enabled by some terrible keeping in this game.
Schalke 1-1 Werder Bremen.
78' — Matija Nastasic receives his second booking and is off for Schalke.
78' — Stuttgart miss a chance to take the lead in Wolfsburg, where the snow has started falling. Mario Gomez turned creator, setting up Daniel Ginczek who missed from point blank.
71' — Nils Petersen pulls the trigger from range with his left peg for Freiburg. Doesn't miss by much over the bar. It remains goalless in the southwest, meaning as it stands that Bayer Leverkusen would lose second spot to Schalke.
70' — Thomas Müller misses a golden one-on-one opportunity to put a third and surely final nail in Mainz's coffin. It remains 2-0.
58' — GOAL, Hertha Berlin (Kalou). Hertha's form player and lead star delivers again, pulling the hosts back into contention.
Hoffenheim 1-1 Hertha Berlin
60' — GOAL, Stuttgart (Gomez). Hit the button! Stuttgart returnee Mario Gomez nets for his old-old-old club against his old club. A classic Gomez goal: from a corner, he redirected a teammate's shot, just a couple of yards from goal, to ensure that it landed in the net.
Wolfsburg 1-1 Stuttgart.
54' — He may have looked bad conceding the goal, but some very brave goalkeeping from Jiri Pavlenka just now to deny Schalke's Naldo.
48' — One sub for Schalke at the break, Nabil Bentaleb made way for Leon Goretzka in midfield.
Second halves begin.
Half time around the grounds. Here are the scores:
Hertha Berlin 0-1 Hoffenheim
Freiburg 0-0 Leverkusen
Schalke 1-0 Werder Bremen
Mainz 0-2 Bayern Munich
Wolfsburg 1-0 Stuttgart
44' — GOAL, Bayern (James Rodriguez). Wonderful cross from the left from Corentin Tolisso, James Rodriguez controls and volleys it home. Bayern double their lead just before the break.
Mainz 0-2 Bayern Munich.
42' — Serge Gnabry and then Kramaric both miss golden opportunities to double Hoffenheim's lead straight away. Meanwhile, there are doubts about the penalty award after all. Prior to winning the ball and then the penalty, Nico Schulz had been offside.
39' — GOAL, Hoffenheim (Kramaric). Andrej Kramaric converts the spot kick, low to his right. Thomas Kraft guessed right but couldn't stop the shot.
Hertha Berlin 0-1 Hoffenheim.
38' — Penalty in Berlin, for Hoffenheim. Really clumsy challenge from Niklas Stark to concede the spot kick.
33' — GOAL, Bayern Munich (Ribery). A Sebastian Rudy corner is half-cleared at the near post, and the ball falls right into Franck Ribery's lap. Ribery's right-footed volley was well placed in the bottom corner. But honorary assists should go to Sandro Wagner and Mats Hummels — both displayed great athleticism to jump out of the ball's way and clear a path to goal.
Mainz 0-1 Bayern Munich.
24' — GOAL, Wolfsburg (Origi). This one was a much tidier finish from the Belgian Liverpool loanee, but still enabled by a defensive error. Andi Beck conceded possession in his own half, allowing Origi to take the ball on and fire into the corner from the edge of the box.
Wolfsburg 1-0 Stuttgart.
25' — GOAL, Schalke (Konoplyanka). The Royal Blues take the lead thanks to some trademark soft hands from Jiri Pavlenka. Yehven Konoplyanka's shot was straight at the Bremen keeper, he let it slither through his grasp and into the net. Not a highlight the keeper will want to watch tonight.
Schalke 1-0 Bremen.
22' —Schalke's Matija Nastasic picks up a yellow for a high-footed challenge against Bremen's Max Kruse. He will be suspended next week as a result.
19' — Hoffenheim's Kerem Demirbay has hobbled off after a horrible collision with Jordan Torunarigha, Nadiem Amiri comes on to repalace him.
20' — Not even Bayern, who have regularly reveled in dismantling Mainz of late, have managed to break the deadlock thus far. Indeed, the hosts just carved out the best chance of the game against the Bavarians. Alexandru Maxim was on the end of a good break down the left flank, curling his shot just wide of the post.
8' — Leverkusen's Lucas Alario has rattled the post in Freiburg, heading a Karim Bellarabi cross towards goal.
6' — Five matches, but no goals in any in the opening five minutes. Bayern Munich and Freiburg have both managed shots, but it's a relatively slow start to the afternoon.
— And last but not least, Wolfsburg play host to Stuttgart at half past the hour. Here are their team sheets:
— No surprise in the Bayer Leverkusen attacking three: Leon Bailey, Karim Bellarabi and Lucas Alario. Three points would seal second for the Werkself, at least for another week.
Coach Christian Streich's striker, Nils Petersen, is also the Freiburg captain.
— Half an hour now until the action starts. Hertha Berlin, hosting Hoffenheim, make space for Davie Selke and Salomon Kalou in an attacking XI. Veteran Per Skjelbred wears the armband, goalie Jonathan Klinsmann's on the bench.
Hoffenheim could really use three points as their European challenge threatens to fizzle out. Kramaric, Szalai and Gnabry will lead the line, with Kerem Demirbay pulling the strings behind them.
— Let's whet your whistle with some of the starting line-ups. Mats Hummels is back in the Bayern XI, while Sandro Wagner gets the nod up front in Robert Lewandowski's stead. Bayern's bench (Starke, Süle, Lewandowski, Robben, Alaba, Coman, Kimmich) is frankly fearsome for this one!
Meanwhile, hosts Mainz will be hoping that Alexandru Maxim and Yoshinori Muto ate their wheat-based breakfast cereal (others available) this morning as they seek a surely improbable upset.
— Good afternoon and welcome to our live updates for Saturday's Bundesliga action. Borussia Dortmund moved up to second on Friday thanks to Michy Batshuayi's brace, but four teams will hope to change that over the weekend. Bayer Leverkusen and Schalke can both do so in the afternoon matches, Leipzig get their chance in the late game and Frankfurt will have to wait until Sunday.