Sign up to Miguel Delaney’s Reading the Game newsletter sent straight to your inbox for free
Sign up to Miguel’s Delaney’s free weekly newsletter
Real Madrid made it 10 victories from 11 LaLiga games this season with a 3-1 success against Sevilla.
Sevilla looked like they might achieve a result to kickstart their campaign when Erik Lamela cancelled out Luka Modric’s early opener.
But Lucas Vazquez put table-topping Real back in front in the 79th minute and Federico Valverde added a third two minutes later.
Third-placed Real Sociedad lost ground after a 1-0 defeat at Real Valladolid.
The Basque side had won eight matches in a row in all competitions but Sergio Leon’s 16th-minute goal decided the contest.
Real Mallorca secured a notable away victory at Valencia, coming from behind to win 2-1 after Edinson Cavani had put the hosts ahead from the penalty spot early in the second half.
Vedat Muriqi responded with a spot-kick of his own and Lee Kang-in netted the winner seven minutes from time.
England’s Jude Bellingham scored twice as Borussia Dortmund won their first Bundesliga match for more than a month with a 5-0 hammering of Stuttgart.
Bellingham opened the scoring in only the second minute and netted again early in the second half after Niklas Sule and Giovanni Reyna had put Dortmund three up at half-time, with Youssoufa Moukoko adding the fifth.
Bayern Munich moved to within a point of Union Berlin at the top with a 2-0 victory over Hoffenheim.
Teenager Jamal Musiala scored his ninth goal of the season in the 17th minute and Eric Maxim Choupo-Moting added the second in the 38th minute.
Freiburg stay a point behind Bayern after beating 10-man Werder Bremen by the same score.
Marco Friedl was sent off after only 14 minutes and Freiburg made the breakthrough in the 56th minute through Lukas Kubler before Vincenzo Grifo scored a late penalty.
On a good day for the top five, Eintracht Frankfurt also took maximum points, with an excellent first-half showing earning them a 3-1 victory over Borussia Monchengladbach.
In-form young Dane Jesper Lindstrom scored either side of a goal from Eric Junior Dina Ebimbe, with Marcus Thuram grabbing a consolation for Monchengladbach.
Leipzig staged an unlikely comeback to draw 3-3 at Augsburg. The hosts had just gone three up when they had Iago sent off in the 65th minute and Leipzig fought back to take a point thanks to two goals in the last two minutes from Christopher Nkunku and Hugo Novoa.
Xabi Alonso’s Bayer Leverkusen drew 2-2 with Wolfsburg thanks to an equaliser from Jeremie Frimpong.
In Serie A, Brahim Diaz scored twice in AC Milan’s 4-1 victory over Monza. Divock Origi netted his first goal since joining Milan from Liverpool and Rafael Leao added a fourth after Filippo Ranocchia had pulled one back for Monza.
Henrikh Mkhitaryan’s injury-time winner earned Inter Milan all three points in a dramatic 4-3 victory over Fiorentina.
The Viola fought back three times to level, with Luka Jovic’s volley in the 90th minute looking like it had earned them a point only for Mkhitaryan to have the final word.
Lautaro Martinez scored twice for Inter, once from the penalty spot, while Arthur Cabral also converted a spot-kick for Fiorentina.
Pasquale Mazzocchi scored the goal in Salernitana’s 1-0 win over Spezia.
David Costa’s late goal in a 1-0 victory over Marseille lifted Lens up to second in the Ligue 1 table.
Alexandre Lacazette scored a 90th-minute winner for Lyon in a 2-1 success over Montpellier after Elye Wahi had cancelled out Houssem Aouar’s opener.
Both teams finished with 10 men after Sinaly Diomande and Stephy Mavididi were shown red cards in the 74th minute following a clash.