Robert Lewandowski hit a first-half hat-trick as Bayern Munich overcame an early red card for Alphonso Davies to beat Stuttgart 4-0 and consolidate their lead at the top of the Bundesliga.
RB Leipzig had kept the pressure up with a 1-0 win at Arminia Bielefeld on Friday night.
Bayern were reduced to 10 men in the 12th minute when a studs-up challenge from 20-year-old Canadian Davies was changed from a caution to a red card following a VAR review.
It was not long, though, before Lewandowski had Bayern in front, the Poland striker converting a cross from Serge Gnabry in the 17th minute.
Gnabry added a second himself just five minutes later and Lewandowski headed in Thomas Muller’s cross to make it 3-0 inside the opening 23 minutes.
Lewandowski completed his perfect hat-trick six minutes before half-time, as Bayern restored their four-point lead with a trip to Leipzig next after the international break.
Erling Haaland scored a last-minute equaliser to give Borussia Dortmund a 2-2 draw at Cologne.
The Norway forward had fired the visitors in front after only three minutes, but Ondrej Duda equalised from the penalty spot in the 35th minute following a handball by Jude Bellingham given on VAR review.
Ismail Jakobs turned things around for the hosts after a swift counter-attack.
Haaland, though, had the final say when he slid in a cross from Ansgar Knauff with 90 minutes on the clock.
Elsewhere, Eintracht Frankfurt thrashed Union Berlin 5-2 at the Commerzbank Arena.
Wolfsburg won 2-1 at Werder Bremen to close to within six points of Leipzig.
An own goal from USA striker Joshua Sargent set them on their way after eight minutes, with Dutchman Wout Weghorst slotting in a second just before half-time.
Kevin Mohwald had reduced the arrears ahead of the interval, but there was to be no second-half recovery.
Saturday’s late kick-off saw Borussia Monchengladbach get a first league win in two months with a 3-0 victory at bottom club Schalke.
Midfielder Lars Stindl broke the deadlock in the 15th minute, with Stefan Lainer heading in a corner just after the hour.
An own goal from Schalke keeper Frederik Ronnow in the 72nd minute, spilling the ball in as he tried to stop a header from Nico Elvedi, completed another miserable night for the hosts.
Real Madrid won 3-1 at Celta Vigo to move up to second place in LaLiga.
Los Blancos took full advantage of neighbours Atletico and rivals Barcelona not being in action until Sunday as in-form Karim Benzema hit a brace at Abanca-Balaidos.
Frenchman Benzema made it eight goals in his last six games, having opened the scoring with a well-taken finish in the 20th minute and then being set up by Toni Kroos on the half-hour.
Santi Mina reduced the deficit shortly before half-time, but substitute Marco Asensio made sure of the points with a third goal in stoppage time.
In the late kick-off, a dramatic stoppage-time strike from goalkeeper Yassine Bounou saw fourth-placed Sevilla snatch a 1-1 draw at home against Real Valladolid.
Fabian Orellana slotted in a penalty just before half-time, which was given following a VAR review after Shon Weissman had been bundled over.
With 13 minutes left, Luuk De Jong came close to an equaliser when his close-range header hit a post – but Sevilla eventually hauled themselves level when Bono lashed the ball in from a corner.
Earlier, relegation-fighters Eibar picked up a point in a 1-1 draw at Athletic Bilbao.
Bottom club Huesca battled to a goalless draw at home against Osasuna, which closed the gap on 17th-placed Elche down to just three points.
In Serie A, Spezia boosted their survival hopes with a 2-1 win over Cagliari.
Roberto Piccoli headed Spezia in front early in the second half, with the home side doubling their lead in the 80th minute through Giulio Maggiore’s scuffed volley.
Gaston Pereiro reduced the deficit following a corner to set up a grandstand finish.
Nahitan Nandez’s effort was then ruled out and Joao Pedro’s stoppage-time goal was also disallowed for another offside in the build-up.
Earlier, a late goal from Andreas Skov Olsen saw Bologna come from behind to win 3-2 at bottom club Crotone – who had been 2-0 up at half-time.
Inter Milan’s match against Sassuolo had been postponed following positive Covid-19 cases at the Serie A leaders.
In Ligue 1, Nice inflicted a first defeat on new Marseille boss Jorge Sampaoli with a 3-0 win at the Allianz Riviera.
Marseille lost Japan international Yuto Nagatomo to injury early on, and fell behind to Khephren Thuram’s 34th-minute header.
Amine Gouiri doubled the lead with 16 minutes left and Alexis Claude Maurice added a third when he tucked home a rebound in stoppage time.
European hopefuls Rennes won 3-1 at Metz, where they had teenage forward Jeremy Doku sent off early in the second half.
Belgium international Doku had earlier got his first Rennes goal in the 18th minute – only to be shown a red card six minutes after the restart for a foul on Thomas Delaine.
Martin Terrier scored Rennes’ second from the penalty spot before half-time, with Serhou Guirassy adding a late third before Papa Ndiaga Yade scored a consolation for the hosts.