AC Milan came from behind to beat city rivals Inter 3-2 at the San Siro with a brace from Rafael Leao and move level on points with Napoli at the top of Serie A.
Marcelo Brozovic had fired the Nerazzurri ahead after 21 minutes, which was soon cancelled out by a cool finish from Portugal forward Leao.
The Rossoneri then went in front early in the second half when Leao picked out Giroud, who slotted home a first-time effort.
Leao made it 3-1 on the hour with another well-taken goal after latching onto Giroud’s flick. Although substitute Edin Dzeko reduced the deficit, AC Milan held out as the champions extended their unbeaten run to 21 Serie A games while Inter drop to sixth.
Napoli won 2-1 at Lazio in Saturday’s evening kick-off, moving them onto 11 points and ahead of AC Milan on goal difference.
Mattia Zaccagni had given the hosts an early lead, but Min-Jae Kim equalised from a corner before half-time and Khvicha Kvaratskhelia struck on the hour to complete the turnaround.
Earlier, Juventus were held to a 1-1 draw at Fiorentina after Arkadiusz Milik’s early goal was cancelled out by Cristian Kouame.
Real Madrid beat Real Betis 2-1 at the Bernabeu to maintain their perfect start to the new LaLiga season.
Vinicius Junior sent Los Blancos into an early lead, but Sergio Canales hauled Betis level.
Real were back in front just after the hour when Rodrygo’s shot squirmed past Betis keeper Rui Silva as Carlo Ancelotti’s men made it four wins from four.
After Erik Lamela saw a goal ruled out for offside, Barca’s summer signing Raphinha broke the deadlock with a header in the 21st minute, before Robert Lewandowski doubled the lead ahead of half-time.
Eric Garcia struck shortly after the restart as winless Sevilla slipped to a third defeat in four league games.
Earlier, Atletico Madrid were held to a 1-1 draw at Real Sociedad. Alvaro Morata gave the visitors an early lead, and then saw another effort ruled out by VAR, before Sadiq Umar headed in a second-half equaliser.
A stoppage-time penalty from Samu Saiz snatched Girona a 1-1 draw at Mallorca, where defender Raillo broke the deadlock with just three minutes left.
Freiburg moved top of the Bundesliga after winning 3-2 away against Bayer Leverkusen as Bayern Munich were held to a 1-1 draw at Union Berlin.
Kerem Demirbay had given Leverkusen a first-half lead at the BayArena, but Freiburg rallied after the break as Matthias Ginter’s header drew them level before Michael Gregoritsch swiftly added another.
Czech frontman Patrik Schick levelled things up again at 2-2, nodding in a cross from on loan Chelsea winger Callum Hudson-Odoi, making his Bundesliga debut.
Ritsu Doan, though, secured all three points for the visitors with 20 minutes left.
Bayern missed the chance to go back to the top of the table after having to come from behind in Berlin.
Sheraldo Becker put the hosts ahead, but Joshua Kimmich soon had Bayern level.
Jamie Leweling forced a fine save from Manuel Neuer late on as Bayern dropped dropped points for a second consecutive league game.
Cologne won 4-2 at Wolfsburg to maintain their unbeaten start, while it finished 1-1 between Stuttgart and Schalke, the hosts having defender Joshua Vagnoman sent off during the second half.
Bottom club Bochum were beaten 2-0 at home by Werder Bremen, suffering a fifth straight league defeat, while Eintracht Frankfurt saw off RB Leipzig 4-0 in Saturday’s late kick-off.
Kylian Mbappe struck twice as Paris St Germain extended their unbeaten start to Ligue 1 with a 3-0 win at 10-man Nantes, who had defender Fabio Da Silva sent off midway through the first half.
Marseille are also on 16 points from five matches after a 2-0 win at Auxerre.
Karl Toko Ekambi scored a brace and former Arsenal striker Alexandre Lacazette was also on target as Lyon swept past strugglers Angers 5-0.