Lionel Messi delivered a hat-trick of assists as Ligue 1 leaders Paris Saint-Germain came from behind to beat 10-man Saint-Etienne 3-1.

Former Real Madrid defender Sergio Ramos made his first appearance for PSG, who saw an early goal from Neymar ruled out for offside.

Denis Bouanga then fired the hosts, who sit bottom of the table, into a shock lead after 23 minutes at Stade Geoffroy-Guichard.

The game turned on the dismissal of Saint-Etienne defender Timothee Kolodziejczak just before half-time for a foul on Kylian Mbappe, with Marquinhos nodding in an equaliser from Messi's free-kick delivery.

With 11 minutes left, Argentina playmaker Messi's chipped pass then picked out Angel Di Maria to put PSG ahead with a curled finish.

In the closing minutes, Neymar was taken off on a stretcher with what looked like an ankle problem, before Marquinhos headed in a deep left-wing cross from Messi to wrap up victory in added time and leave PSG 12 points clear at the top.

Rennes are second after a 2-0 victory at Lorient with late goals from Gaetan Laborde and Jeremy Doku.

Brest came from behind to win 2-1 at strugglers Bordeaux, where Jeremy Le Douaron struck twice in the second half.

N'Clomande Ghislain Konan struck a last-minute goal to give Reims a 1-0 win over Clermont, whose troubles continue after a fifth straight defeat.

Monaco and Strasbourg drew 1-1, with Ludovic Ajorque's penalty early in the second half cancelling out a spot-kick from Wissam Ben Yedder just before the break.

Marseille moved up to fourth in the standings as Pol Lirola's second-half strike gave them a 1-0 win against Troyes in the late game.

In a Maradona tribute jersey, Napoli record goalscorer Dries Mertens was in good form

Napoli put on a dazzling display to mark the first anniversary of Diego Maradona's death when they stormed to a 4-0 win over Lazio to move three points clear at the top of Serie A as they capitalised on an AC Milan slip-up.

Club great Maradona died on 25 November last year and to mark the anniversary, Napoli unveiled a statue inside the Diego Armando Maradona Stadium pre-match and wore shirts with the Argentine's face on them for the Lazio clash.

The performance was befitting of the Napoli legend, too, with the home side blowing away Lazio with a vibrant show of attacking football, racing into a 3-0 lead inside 29 minutes thanks to goals from Piotr Zielinski and a double from Dries Mertens.

With the job done, Napoli took their foot off the gas in the second half but Lazio did not register a single shot on or off target in response. Fabian Ruiz put the icing on the cake with a pinpoint fourth goal late on.

AC Milan slipped to their second successive league defeat when Sassuolo stunned their opponents in the San Siro after coming from behind to earn a 3-1 victory.

The hosts raced into an early lead after skipper Alessio Romagnoli headed home from a corner in the 21st minute, and Milan looked on course to get back to winning ways in the league following last weekend's loss at Fiorentina.

However, Sassuolo, who beat Juventus away from home last month, turned the match on its head, with Gianluca Scamacca's stunning strike and Simon Kjaer's unfortunate own goal giving them a 2-1 lead inside 33 minutes.

Even with veteran striker Zlatan Ibrahimovic leading the line, Milan struggled to issue a response, as Domenico Berardi made sure of a thoroughly deserved victory for Sassuolo with a superb solo goal in the 66th minute.

Romagnoli's red card in the 77th minute effectively ended Milan's hopes of getting anything from the match.

They remain second in the standings, three points behind Napoli, while Sassuolo's first win in four league games sees them climb to 12th on 18 points.

Former Chelsea striker Tammy Abraham scored the winner for fifth-placed Roma as Jose Mourinho's side edged Torino 1-0 at the Stadio Olimpico, while Marko Arnautovic's penalty helped Bologna win 1-0 at Spezia.

Andriy Shevchenko's Genoa drew 0-0 at Udinese.

Benzema struck the Real opener at the Santiago Bernabeu

Vinicius Junior's stunning effort rescued Real Madrid as they fought back to beat Sevilla 2-1 in an thrilling match in the Spanish capital to stay top of La Liga and frustrate the visitors' hopes of leapfrogging them at the summit.

Vinicius netted the winner with a superb cross shot from outside the box in the 87th minute, completing Real's comeback after they fell behind early.

Sevilla went in front in the 12th minute with a header from Rafa Mir and Julen Lopetegui's team almost extended their lead twice but a mistake by goalkeeper Bono allowed Karim Benzema to equalise before half-time.

The goal gave Real renewed energy, and they came back much stronger after the break.

Sevilla did their best to keep Real at bay with a sterling defensive effort in the second half, but the in-form Vinicius scored his ninth goal in LaLiga this season to snatch all three points.

Carlo Ancelotti's team moved to 33 points from 14 games, four ahead of Atletico Madrid and Real Sociedad. Sevilla are fourth, with 28 points.

Atletico Madrid turned around a poor first-half performance to score four goals after the break and earn a 4-1 win at Cadiz.

Thomas Lemar, Antoine Griezmann, Angel Correa and Matheus Cunha were all on target as Atletico won when scoring four or more for the first time in all competitions this season.

Cadiz scored their only goal to make it 3-1 late in the second half, following a shocking mistake from goalkeeper Jan Oblak. They are still winless at home this season.

Real Betis are up to fifth, one point behind city rivals Sevilla, after Juanmi's hat-trick gave them a 3-1 at home to Levante, who saw former Arsenal and Germany defender Shkodran Mustafi get on the scoresheet.

Yangel Herrera's winner helped Espanyol bounce back from their derby defeat to Barcelona as they edged third-placed visitors Real Sociedad.

Jesse Marsch is under growing pressure

In Germany, RB Leipzig suffered a 3-1 home loss to Bayer Leverkusen, their second defeat in a row in the Bundesliga that dropped them to eighth place, piling pressure on coach Jesse Marsch.

Leipzig, runners-up last season, are already 13 points off leaders Bayern Munich following their fifth league defeat of the campaign.

It was Leverkusen's second straight win and they moved back into third place on 24 points.

Leverkusen went in front when Floria Wirtz powered into the box to latch on to a perfectly-timed Exequiel Palacios pass to chip the ball over the keeper.

They added another goal in the 34th with Diaby rifling in from a cross by Jonathan Tah.

Andre Silva's powerful header in the 62nd cut the deficit for Leipzig.

But two minutes later Leverkusen restored their two-goal cushion when Angelino deflected Jeremie Frimpong's shot into the Leipzig goal.

The hosts' frustration was complete when Dominik Szoboszlai's 88th minute penalty hit the post.

Elsewhere, Eintracht Frankfurt beat Union Berlin 2-1.