RB Leipzig moved back to the top of the Bundesliga thanks to a 2-1 win over Schalke.
Timo Werner put Ralph Hasenhuttl's men in front with an early penalty, but Sead Kolasinac levelled for Schalke, who were on a seven-game unbeaten streak heading into the fixture at the Leipzig Arena.
Kolasinac scored an own goal early in the second half to give Leipzig yet another win, which takes them three points clear at the summit in their first season in Germany's top flight.
Borussia Dortmund got back to winning ways with a 4-1 win over Borussia Monchengladbach which increases the pressure on the Foals' coach Andre Schubert.
Bundesliga top goalscorer Pierre-Emerick Aubameyang pulled further away at the top of the scoring charts with a brace while Lukasz Piszczek and Ousmane Dembele were also on target in a convincing win.
Raffael had given Gladbach an early lead -- but that only stung Dortmund into action as the home side extended Gladbach's wait for a win to eight league games.
Hoffenheim extended their unbeaten start to the season to 13 games with an emphatic 4-0 win over Cologne.
Sandro Wagner struck twice for Julian Nagelsmann's men with Jeremy Toljan and Mark Uth also on target as Cologne conceded half as many goals in 90 minutes as they had in their previous 12 games.
Wolfsburg's dismal season continued as they were beaten 3-2 at home by Hertha Berlin and had Paul Seguin sent off late on.
Borja Mayoral gave Valerien Ismael's hosts the lead, but that goal was cancelled out by Marvin Plattenhardt. Seguin restored Wolfsburg's lead, but Alexander Esswein levelled again for the away side.
Seguin was then shown a second yellow card to leave Wolfsburg with 10 men for the final three minutes and worse was to follow for the Wolves when Daniel Caligiuri was adjudged to have fouled Plattenhardt in the area.
Salomon Kalou ignored Diego Benaglio's efforts to put him off to score the winner in added time and leave the home team to face their fans' anger at the final whistle.
Werder Bremen earned themselves a bit of breathing space near the bottom with a 2-1 win over fellow strugglers Ingolstadt at the Weserstadion.
Max Kruse put Bremen in front in the first half, but Markus Suttner brought the visitors just before the hour. A game which could have gone either way was eventually decided in favour of the home team with Fin Bartels scoring their second from Claudio Pizarro's assist 14 minutes from time to put five points between the two teams in the league table.
Freiburg stalled their recent slide down the Bundesliga standings and frustrated Bayer Leverkusen with a 1-1 draw at the BayArena.
Janik Haberer gave Freiburg the lead after half an hour, and Leverkusen levelled on the hour mark through Hakan Calhanoglu and then had chances to win it, but Freiburg goalkeeper Alexander Schwolow made a string of fine saves to preserve his side's point, which brought an end to a three-game losing streak.