Borussia Dortmund couldn't return to winning at Stuttgart as Bayern Munich extended their perfect record under Jupp Heynckes. Schalke beat Hamburg to go second, with Leipzig held in Leverkusen.
Stuttgart 2-1 Borussia Dortmund
(Akolo 4', Brekalo 51' — Philipp 45')
Dortmund's woeful form continued. A terrible mix-up between Marc Bartra and Roman Bürki let in Chadrac Akolo early, but Maximilian Philipp's equalizer - a rebound after Andre Schürrle's penalty had been saved by Ron-Robert Zieler - left the scores level at the break.
Shortly after the restart, Josip Brekalo (off the bench) punished a poorly-positioned Dortmund on the break. Stuttgart should have ended the contest and although their poor composure in front of goal gave BVB a chance, the visitors never took it.
Bayern Munich 3-0 Augsburg
(Vidal 31', Lewandowski 38', 49')
Bayern are still yet to taste defeat since Jupp Heynckes returned, and his side strolled to a 3-0 win over Augsburg on Matchday 12.
Arturo Vidal's close-range strike opened the scoring for the hosts, who doubled their lead through Robert Lewandowski's clinical finish.
The striker added a third — his second — early in the second half to make it an easy afternoon for Bayern, who are starting to open an unbridgeable gap at the top of the Bundesliga again.
Hoffenheim 1-1 Eintracht Frankfurt
(Uth 90' — Boateng 13')
A 90th-minute equalizer by Mark Uth rescued a point for Hoffenheim, and denied Frankfurt three points that would have sent them third in the table.
The visitors opened the scoring through a Kevin-Prince Boateng thunderbolt and appeared to have done enough to grind out the win.
But Serge Gnabry came off the bench to make the difference for Hoffenheim, bursting to the byline and crossing for Uth, who converted from close-range.
Bayer Leverkusen 2-2 RB Leipzig
(Bailey 44', Volland 74' — Werner pen. 12', Forsberg pen. 54')
Kevin Volland scored a fine equalizer to earn 10-man Leverkusen a deserved point against RB Leipzig.
Timo Werner gave Leipzig the lead from the spot but Leon Bailey leveled a minute before the break.
Leverkusen were then reduced to ten men when Benjamin Heinrichs was dismissed and Leipzig awarded a penalty, which Emil Forsberg drilled low under Bernd Leno to put Leipzig ahead again.
But Volland's well executed volley gave Leverkusen the point they deserved.
Mainz 1-0 Cologne
(Brosinski pen 43')
Another contentious VAR decision went against Cologne as the club's winless streak continued to keep them rooted to the bottom of the Bundesliga.
Frederik Sorensen was judged to have fouled Pablo De Blasis in the box, but contact was minimal.
Nevertheless, Daniel Brosinski converted the spot-kick to score the only goal of the game, with Mainz hanging on for the win despite losing Giulio Donati to a red card in the second half.
Wolfsburg 3-1 Freiburg
(Gerhardt 3', Malli 29', 70' — Kapustka 68')
After a Bundesliga record seven straight draws in his first seven games as head coach, Martin Schmidt's Wolfsburg finally got a win to help them clamber away from the danger zone.
Barely three minutes in, Yannick Gerhardt had opened the scoring for the hosts, but the star of the show was Yunus Malli, whose two goals each side of Bartosz Kapustka's consolation won the game for the hosts.
Hertha Berlin 2-4 Borussia Mönchengladbach
(Ibisevic 38', Weiser 71' — Stindl 5', Hazard pen. 14', Raffael 20', 77')
Borussia Mönchengladbach blew Hertha away in a furious opening 20 minutes in the Olympic Stadium in Berlin. A trademark finish from Lars Stindl and a rocket from Raffael came either side of a Thorgan Hazard penalty after yet another controversial VAR decision.
Hertha finished the first half the stronger, pulling a goal back through Vedad Ibisevic who also hit the woodwork twice. A famous comeback seemed on the cards when Mitchell Weiser pulled Hetha within one with 20 minutes remaining but Raffael restored the two-goal cushion and wrapped up three points to send the Foals third - for a night at least.
Schalke 2-0 Hamburg
(Di Santo 17' pen, Burgstaller 77')
Schalke picked up their seventh league win of the season to move up to second in the Bundesliga.
The Royal Blues opened the scoring from the penalty spot after Yevhen Konoplyanka was knocked off his feet clumsily by Gideon Jung. Franco Di Santo did the rest, firing his penalty into the bottom corner.
Hamburg showed some promise in the second half and came closest to leveling when Aaron Hunt hit the outside of the post after a neat move by the visitors, but Guido Burgstaller made the three points safe with a close range finish late on.
The win ensures that Dominico Tedesco's side go into next weekend's Ruhr derby ahead of their bitter rivals Borussia Dortmund.
Werder Bremen 4-0 Hannover
(Bartels 39', Kruse 55', 59' 78')
Max Kruse scored a 23-minute hat-trick to inspire Werder Bremen to a thumping win over Hannover.
Fin Bartels opened the scoring for Bremen six minutes before the break with a fine chip over the advancing Hannover keeper Michael Esser.
Kruse doubled Bremen's lead with a sublime first-time finish before adding two more to notch up his first hat-trick since April, when he netted four against Ingolstadt.
The result sees Bremen climb one place to 16th, while Hannover are now eighth after two successive defeats.