Harry Kane was among five different scorers as Bayern Munich thumped Bochum 5-0 to move back to the top of the Bundesliga.
Michael Olise opened the scoring in the 16th minute before Jamal Musiala doubled the lead midway through the half.
Kane got in on the action just before the hour mark before Leroy Sane and Kingsley Coman completed the scoring for Bayern, who improved their goal difference advantage over RB Leipzig.
Union Berlin moved to fourth after being held to a 1-1 draw by Eintracht Frankfurt, who finished with 10 men.
Mario Gotze put the visitors in front after 14 minutes, but Benedict Hollerbach levelled in the 66th minute, with Eintracht’s Arthur Theate collecting a second booking 10 minutes later.
Heidenheim and Hoffenheim played out a goalless draw in the evening fixture.
An own goal from Jose Maria Gimenez brought to an end Atletico Madrid’s unbeaten start to the league season as they went down 1-0 to Real Betis.
Gimenez deflected Abde Ezzalzouli’s cross into his own net just four minutes in, and Betis continued to push for a second, having a goal disallowed for offside, before Angel Correa twice hit a post for Diego Simeone’s men late on.
Mauro Arambarri scored a last-minute penalty for Getafe to deny Valencia victory in a 1-1 draw. The visitors had gone in front through Enzo Barrenechea in the 36th minute.
Second-half goals from Diego Garcia, Darko Brasanac and Sergio Gonzalez gave Leganes a 3-0 win over Celta Vigo, while first-half goals from Lucas Torro and Ante Budimir gave Osasuna a 2-0 win at Real Sociedad.
Kenan Yildaz scored a late brace as Juventus recovered to snatch a point from a thrilling 4-4 draw at Inter Milan.
Piotr Zielinski scored two first-half penalties for Inter, opening the scoring and then getting Inter’s third – with Dusan Vlahovic and Timothy Weah having put Juve in front before Henrikh Mkhittaryan equalised.
Denzel Dumfries got Inter’s fourth but Yildiz preserved Juve’s unbeaten status with goals in the 71st and 82nd minutes.
Fiorentina climbed up to fourth in the Serie A with a 5-1 rout of Roma, who finished the game with 10 men.
Moise Kean scored two in the first half, either side of Lucas Beltran’s 18th-minute penalty, with Kouadio Kone getting one back for the visitors.
Edoardo Bove stretched Fiorentina’s advantage before Mario Hermoso was sent off for a second bookable offence in the 66th minute, with things getting worse for Roma when Mats Hummels scored an own goal with 18 minutes to go.
Empoli were held to a 1-1 draw at Parma as Gabriel Charpentier grabbed an 80th-minute equaliser for the hosts, who had trailed to Woyo Coulibaly’s 35th-minute own goal.
Goals from Tijani Noslin, Pedro and Matias Vecino – the latter two coming after the 85th minute – saw Lazio beat Genoa 3-0, while Monza and Venezia shared the points from a 2-2 draw in which all four goals came in the first half, and Warren Bondo saw red late on.
Paris St Germain moved three points clear at the top of Ligue 1 with a 3-0 Le Classique win at 10-man Marseille as Monaco lost a lead to go down 2-1 away to Nice.
PSG got an early goal through Joao Neves before Marseille’s Amine Harit was sent off just 21 minutes in.
An own goal from Leonardo Balerdi stretched PSG’s lead after half an hour and the scoring was complete four minutes before the break through Bradley Barcola.
Monaco took the lead through Breel Embolo at Nice, but things went wrong before the break as Evann Guessand levelled and Campos Vanderson was sent off. Gaetan Laborde got the winner in the 72nd minute.
Zakaria Aboukhlal scored a brace inside the opening 10 minutes and Joshua King added a third in the 28th minute as Toulouse won 3-0 at Montpellier, who had Teji Savanier sent off early in the second half.
Andrey Santos scored a brace as Strasbourg beat Nantes 3-1 while Auxerre twice came from behind to take a point from a 2-2 draw at Lyon.