Bundesliga leaders Bayern Munich survived several first-half scares in a 1-1 home draw with midtable Schalke 04 on Saturday as Philipp Lahm made his 500th appearance for the Bavarian club.
Second-placed RB Leipzig lost ground after losing 1-0 at Borussia Dortmund and were left fuming after Federico Palacios had a goal disallowed with almost the last kick of the game for offside.
Pierre-Emerick Aubameyang scored the winner for last season's runners-up after a superb run and cross by teenager Ousmane Dembele.
Bayern, who have 46 points from 19 games as they chase a fifth successive title, increased their lead over Leipzig to four points while Dortmund (34) points stayed third, ahead of Hoffenheim on goal difference.
Robert Lewandowski finished off a flowing move by clipping the ball over Ralf Faehrmann for this 15th goal of the season in the ninth minute but Schalke levelled four minutes later when Naldo's low free-kick found its way past Manuel Neuer.
Eleventh-placed Schalke, the fourth team to take a point from the Allianz Arena this season, then missed several chances for a halftime lead.
Neuer denied Sead Kolasinac who had a clear run on goal, then Guido Burgstaller hit the crossbar and finally Leon Goretzka dallied over a shot, allowing Juan Bernat to get back and tackle.
Lahm, 33, came on in the second half to a rapturous reception and Schalke were forced on to the back foot as Bayern took control.
Javi Martinez drilled a shot just wide before some superb defending by Matija Nastasic foiled the Bavarians.
"We can be very satisfied," said Schalke coach Markus Weinzierl.
"My team played really well and put the early setback behind them.
"We should have taken the lead before halftime and in the second half we were put under pressure.....We can certainly live with a point."
Dortmund's match with Leipzig was a stop-start affair until Dembele collected the ball near the halfway line, turned and beat Marvin Compper, then flicked the ball past Willi Orban before delivering a pinpoint pass which Aubameyang headed in for his 17h Bundesliga goal of the season.
Aubameyang and Marco Reus both squandered further chances in the second half and Dortmund almost paid dearly when Palacios broke clear to fire past Roman Buerki in stoppage time only to have his celebrations cut short by the linesman's flag.
Despite Leipzig's protests, replays showed that Palacios was marginally offside.
Hoffenheim brushed aside Mainz 05 4-0 with Adam Szalai scoring twice in the last five minutes.
A second-minute goal from Genki Haraguichi gave Hertha Berlin a 1-0 win over Ingolstadt which kept them a further point behind in fifth.
A late penalty from Anthony Modeste, his 15th goal of the season, gave Cologne a 1-0 win over VfL Wolfsbug and Borussia Moenchengladbach scored three times in the last 20 minutes to beat Freiburg 3-0.
Monaco reach milestone with Nice win
Monaco moved three points clear at the top of Ligue 1 on Saturday, reaching a milestone thanks to Radamel Falcao's double in a 3-0 drubbing of Nice.
The principality side have now netted 100 goals in all competitions this season, a good omen looking ahead to their Champions League last-16 first leg at ManchesterCity this month.
Leonardo Jardim's side, who have scored 68 league goals in 23 matches, have 52 points.
Nice are third on 49, behind Paris St Germain on goal difference after late goals by Thiago Silva and Edinson Cavani gave the champions a 3-1 win at Dijon.
After a shaky start, Monaco found their pace and Bernardo Silva had two first-half strikes saved by goalkeeper Yoan Cardinale.
Valere Germain opened the scoring from Benjamin Mendy's cross two minutes into the second half.
Nice's hopes of an equaliser were thwarted six minutes later when Mario Balotelli, who had a below-par game, was ruled offside as they took a corner.
Colombia international Falcao picked up a pass from Mendy to score his first goal in the 60th minute and took his league tally to 14 with nine minutes remaining when he beat Cardinale with a shot into the corner of the net.
Nice's Alassane Plea squandered a last-chance Dalbert Henrique cross in the game's dying minutes.
Lucas opened the scoring for PSG from a packed goalmouth in the 29th minute but Dijon were quick to react, Julio Tavares equalising two minutes later from Lees Melou's cross from the right.
Silva scored at the far post nine minutes from time with Cavani wrapping it up from close range in the 84th.
Image: Bayern Munich's Philipp Lahm acknowledges the crowd
Photograph: Bayern Munich/Twitter