RB Leipzig moved to the top of the Bundesliga table after a narrow 1-0 win over Stuttgart Mercedes-Benz Arena.
Leipzig should have been ahead in the 22nd minute after they were awarded a penalty but Emil Forsberg's spot-kick was saved by shot-stopper Gregor Kobel.
Dani Olmo eventually made up for it with the winner for the visitors in the 67th minute, as they leapfrogged second-placed Bayern Munich, who will be in action on Sunday.
Bayer Leverkusen missed the chance to climb to the top of the log after they went down 2-1 against Eintracht Frankfurt at Commerzbank-Arena.
Nadiem Amiri gave the visitors a perfect start with an early goal but Amin Younes equalised for Eintracht midway through the first stanza and Edmond Tapsoba scored an own goal nine minutes after the break that gave hosts all the three points.
Borussia Monchengladbach ended a four-game winless run after edging Arminia Bielefeld 1-0 at Schuco Arena.
After a goalless first stanza, Breel Embolo finally broke the deadlock for Gladbach two minutes before the hour-mark and that was enough to give them their first win in five matches.
In-form Freiburg won their fourth consecutive game after thrashing Hoffenheim 3-1 at PreZero Arena.
Freiburg raced to a three-goal lead going to the break courtesy of Baptiste Santamaria, Vincenzo Grifo and an own goal by Kasim Nuhu and Ihlas Bebou scored a consolation goal for the hosts just before the hour-mark.
Hertha Berlin piled more misery on bottom side Schalke with a 3-0 thumping at Olympiastadion.
Matteo Guendouzi broke the deadlock for the hosts nine minutes before the break while Jhon Cordoba and Kryzysztof Piatek got second-half goals to seal a comprehensive victory.
Union Berlin went up to fourth on the table after beating Werder Bremen 2-0 at Weserstadion.
First-half goals from Sheraldo Becker and Taiwo Awoniyi for Union were enough to get them their second consecutive win.
Augsburg won their fifth game of the campaign after a narrow 1-0 win over at RheinEnergieStadion.
After a goalless first stanza, Koln were close to getting at least a point but Iago snatched the winner for Augsburg in the last 13 minutes, which left the Cologne based side just one point above the relegation play-off spot.