RB Leipzig handed Hoffenheim their first league defeat of the season at the Red Bull Arena after Sandro Wagner was sent off. Bayern Munich also won against a spirited Werder Bremen.
RB Leipzig 2-1 Hoffenheim
(Werner 38', Sabitzer 77' – Amiri 18')
RB Leipzig came from a goal down to beat Hoffenheim, who were beaten in the league for the first time this season.
Hoffenheim took the lead with a brilliant counterattack. Breaking from their own half, Sandro Wagner and Nadiem Amiri exchanged passes with Amiri eventually finishing beyond Peter Gulacsi and into the net.
Hoffenheim were unable to make it to half time with their lead intact though. Capitalizing on some uncertain defending, Timo Werner bundled his way through and poked the ball under Oliver Baumann.
Sandro Wagner was shown a straight red card on the hour mark for a rash challenge and Leipzig made the extra man count in the 77th minute, when Marcel Sabitzer's deflected shot from distance beat Baumann.
Werder Bremen 1-2 Bayern Munich
(Kruse 53' - Robben 30', Alaba 45+1')
Arjen Robben celebrates with Franck Ribery after the pair combined for Bayern Munich's opener against Werder Bremen.
Bayern Munich survived a spirited second half effort from Werder Bremen to win 2-1 at the Weserstadion.
Bayern took the lead when Franck Ribery's cross from the left was met by Arjen Robben, whose expertly taken first-time shot on the run rifled past Felix Wiedwald.
David Alaba doubled Bayern's lead in first half stoppage time in sumptuous fashion. The Austria star lifted his free kick over the Werder wall and the ball went in off the post with Wiedwald once again helpless.
Bremen flew out of the blocks after the restart and pulled one back through Max Kruse, who finished well after a fine move that cut through the champions' defence. But their effort was ended in vain as Bayern recorded a record number of consecutive wins (13) against one opponent in the Bundesliga.
Darmstadt 1-6 Cologne
(Sam pen 66' - Sulu og 32', Osako 36', 72', Modeste 42', Jojic 85', Rudnevs 89')
Cologne recorded their biggest win of the season, crushing sorry Darmstadt.
The Billy Goats made the breakthrough through an Aytac Sulu own goal. A low cross from the right was turned into his own net by Sulu under pressure from Yuya Osako.
While Osako claimed the first goal, there was absolutely no doubt about his role in the second. Leaping high to meet a pinpoint cross from the left, the Japanese international buried his header.
Anthony Modeste joined the party just before the break, pouncing from close range for his 14th Bundesliga goal of the season.
Sidney Sam got one back for Darmstadt from the spot, but Cologne re-established their three-goal cushion through Osako's second of the game before substitute Milos Jojic added further humiliation for Darmstadt with a fifth five minutes from time.
There was just enough time for Cologne to make it six when Artjoms Rudnevs scored from a tight angle. It was a day to forget for the hosts, who are now four points adrift at the bottom.
Bayer Leverkusen 2-3 Borussia Mönchengladbach
(Tah 31', Hernandez 34' - Stindl 52', 58', Raffael 71')
Lars Stindl scored twice as Gladbach scored three times in 19 second half minutes to beat Leverkusen
Gladbach captain Lars Stindl inspired a brilliant comeback as Leverkusen threw away a 2-0 lead.
Jonathan Tah put the hosts ahead, losing his marker Jannik Vestergaard to head in Hakan Calhanoglu's corner for his first ever first-team goal.
Tah was involved again three minutes later when Leverkusen doubled their lead. The defender flicked on another corner and Javier Hernandez turned the ball in from close range to score his first goal in 784 minutes of football.
Leverkusen were cruising, but Gladbach captain Lars Stindl inspired his side to a stirring comeback.
His dipping volley after Tah's misjudgement cut Leverkusen's lead in half, and his header from Oscar Wendt's cross six minutes later drew Dieter Hecking's side level against the odds.
Gladbach went one better with a dramatic third inside the final twenty minutes, with Raffael cutting inside Tah and finishing well to turn the game on its head and complete a stunning turnaround.
Ingolstadt 3-1 HSV
(Gross 14', Suttner 22', Cohen pen. 47' – Sakai 63')
Pascal Gross celebrates his opening goal for Ingolstadt in their relegation six-pointer against Hamburg
Ingolstadt lifted themselves above Hamburg with a vital win over their relegation rivals.
The home side took the lead through a fizzing shot by Pascal Gross, who lashed the ball inside the far post on the half volley to leave Hamburg goalkeeper Christian Mathenia helpless.
Ingolstadt doubled their lead through Markus Suttner's free kick, which changed course after taking a heavy deflection off the Hamburg wall and wrong-footing Mathenia.
Almog Cohen put the result beyond doubt less than two minutes into the second half, converting a penalty that Dennis Diekmeier conceded 44 seconds after coming on as a half-time substitute for Hamburg.
Hamburg pulled one back through a Gotoku Sakai screamer, but it proved little more than a consolation for Markus Gisdol's side who are now two points adrift of the relegation playoff spot.
Wolfsburg 1-2 Augsburg
(Gomez 4' – Altintop 25', Kohr 69')
Augsburg recovered from conceding an early goal to beat Wolfsburg, ending the Wolves' three-game winning streak.
Mario Gomez gave Wolfsburg the lead inside four minutes with the slightest of touches, redirecting Yunus Malli's dangerous free kick.
Augsburg leveled midway through the first half in fortuitous circumstances. Luis Gustavo's woeful backpass put Wolfsburg goalkeeper Diego Benaglio in trouble and his clearance was charged down by Halil Altintop. The attacker saw the ball deflect onto the bar, and the former Turkey star simply nodded into the empty net.
Augsburg completed the turnaround when substitute Dominik Kohr darted ahead of Vierinha to slide the ball in from close range.
Bundesliga Matchday 18: As it happened: