Kylian Mbappe scored twice before going off with a thigh injury as Paris St-Germain beat Metz to move two points clear at the top of Ligue 1.
The 22-year-old slotted in a fourth-minute opener and added a second with a deflected strike after Fabien Centonze had equalised with a header.
Mbappe went off injured late on before Mauro Icardi scored a penalty.
PSG boss Mauricio Pochettino is hopeful Mbappe will be fit to face Manchester City in the Champions League this week.
The two sides meet in their semi-final first leg in Paris on Wednesday (20:00 BST).
“We hope it’s not too serious,” Pochettino said.
“Kylian was calm when he was replaced but even a simple knock is always painful.”
After his double on Saturday, France international Mbappe has scored 25 goals in 29 Ligue 1 appearances this season – and 37 goals in 42 games across all competitions for PSG in 2020-21.
The result means five points separate the top four in a tight Ligue 1 title race, however Pochettino’s leaders – crowned champions in seven of the past eight seasons – have played a game more than their rivals.
Three-time champions Lille, in second, can return top with victory at fourth-placed Lyon on Sunday (20:00 BST) in a key fixture at the summit.
- 19MaïgaSubstituted forDias Gonçalvesat 87′minutes
- 5AngbanBooked at 15minsSubstituted forN’Doramat 68′minutes
- 17DelaineSubstituted forUdolat 87′minutes
- 10BoulayaSubstituted forYadeat 87′minutes
- 24Leya IsekaSubstituted forNianeat 68′minutes
- 27Dias Gonçalves
- 20KurzawaBooked at 60minsSubstituted forBakkerat 64′minutes
- 21HerreraBooked at 79mins
- 6VerrattiBooked at 37mins
- 19SarabiaSubstituted forDi Maríaat 65′minutes
- 7MbappéBooked at 58minsSubstituted forDraxlerat 87′minutes
- 10NeymarSubstituted forIcardiat 81′minutes
- 11Di María
Match ends, Metz 1, Paris Saint Germain 3.
Second Half ends, Metz 1, Paris Saint Germain 3.
Foul by Mitchel Bakker (Paris Saint Germain).
Vágner Dias (Metz) wins a free kick in the defensive half.
Goal! Metz 1, Paris Saint Germain 3. Mauro Icardi (Paris Saint Germain) converts the penalty with a right footed shot to the centre of the goal.
Penalty Paris Saint Germain. Mauro Icardi draws a foul in the penalty area.
Penalty conceded by Dylan Bronn (Metz) after a foul in the penalty area.
Substitution, Paris Saint Germain. Julian Draxler replaces Kylian Mbappé because of an injury.
Substitution, Metz. Papa Ndiaga Yade replaces Farid Boulaya.
Substitution, Metz. Matthieu Udol replaces Thomas Delaine.
Substitution, Metz. Vágner Dias replaces Habib Maïga.
Attempt missed. Pape Sarr (Metz) right footed shot from outside the box misses to the left. Assisted by Ibrahima Niane.
Corner, Paris Saint Germain. Conceded by John Boye.
Ander Herrera (Paris Saint Germain) hits the bar with a right footed shot from the centre of the box. Assisted by Mauro Icardi with a headed pass following a corner.
Substitution, Paris Saint Germain. Mauro Icardi replaces Neymar.
Corner, Paris Saint Germain. Conceded by Farid Boulaya.
Attempt blocked. Kylian Mbappé (Paris Saint Germain) right footed shot from the left side of the box is blocked. Assisted by Neymar with a through ball.
Ander Herrera (Paris Saint Germain) is shown the yellow card for a bad foul.
Foul by Ander Herrera (Paris Saint Germain).
Farid Boulaya (Metz) wins a free kick in the attacking half.