xgEdge

Ligue 1 top scorers 2025/2026

Every Ligue 1 player ranked on the goals he has scored this season, with the minutes he took to score them — and, where the competition carries per-match figures, the chances those goals came from.

Esteban Lepaul leads the scoring on 21 goals, from 2702 minutes. That is 5 clear of Joaquin Panichelli. Esteban Lepaul has scored 4.99 more than his chances were worth: 21 goals from 16.01 xG. Issa Soumaré has scored 7.82 fewer than his chances were worth: 8 goals from 15.82 xG.

Showing 201–250 of 600 players

Ligue 1 top scorers 2025/2026
# Player Club Apps Min G npG xG G − xG Min/G
169 Lanroy Machine Angers 22 516 1 1 1.98 −0.98 516
169 Julien Le Cardinal Saint-Étienne 8 533 1 1 0.80 +0.20 533
169 Florian Sotoca RC Lens 26 554 1 1 0.83 +0.17 554
169 Ibou Sane Metz 16 557 1 1 0.36 +0.64 557
169 Felix Mambimbi Le Havre 17 559 1 1 0.66 +0.34 559
169 Arnaud Nordin Stade Rennais 10 573 1 1 1.03 −0.03 573
169 Seko Fofana Stade Rennais 12 668 1 1 1.01 −0.01 668
169 Dro Fernández Paris Saint-Germain 12 682 1 1 0.91 +0.09 682
169 Isak Jansson Nice 24 683 1 1 1.89 −0.89 683
169 Mario Sauer Toulouse 25 683 1 1 1.31 −0.31 683
169 Mohamed Bamba Lorient 18 686 1 1 2.49 −1.49 686
169 Eric Dier AS Monaco 9 687 1 1 0.49 +0.51 687
169 Matt O'Riley Olympique de Marseille 15 739 1 1 0.85 +0.15 739
169 Panos Katseris Lorient 16 749 1 1 0.83 +0.17 749
169 Sebastian Szymański Stade Rennais 16 786 1 1 0.66 +0.34 786
169 Ruben Kluivert Olympique Lyonnais 16 805 1 1 0.43 +0.57 805
169 Oussama El Azzouzi Auxerre 11 813 1 1 0.52 +0.48 813
169 Lucas Tousart Stade Brestois 24 857 1 1 0.63 +0.37 857
169 Francisco Sierralta Auxerre 10 862 1 1 1.07 −0.07 862
169 Waren Kamanzi Toulouse 24 867 1 1 0.91 +0.09 867
169 Adam Karabec Olympique Lyonnais 21 941 1 1 1.64 −0.64 941
169 Sofiane Boufal Le Havre 17 1,028 1 1 1.66 −0.66 1028
169 Pathé Mboup Stade Brestois 28 1,069 1 1 2.89 −1.89 1069
169 Mohammed Salisu AS Monaco 12 1,080 1 1 0.79 +0.21 1080
169 Alexis Vossah Toulouse 23 1,094 1 1 0.57 +0.43 1094
169 Fabián Ruiz Paris Saint-Germain 20 1,129 1 1 1.34 −0.34 1129
169 Samir Chergui Paris FC 15 1,155 1 1 1.76 −0.76 1155
169 Pape Diop Toulouse 15 1,185 1 1 1.32 −0.32 1185
169 Przemysław Frankowski Stade Rennais 19 1,215 1 1 0.50 +0.50 1215
169 Igor Silva Lorient 17 1,223 1 1 0.52 +0.48 1223
169 Dehmaine Tabibou Nantes 27 1,282 1 1 1.72 −0.72 1282
169 Karim Dermane Lorient 30 1,364 1 1 1.22 −0.22 1364
169 Andrew Omobamidele RC Strasbourg 25 1,375 1 1 0.61 +0.39 1375
169 Boubacar Traoré Metz 20 1,391 1 1 0.96 +0.04 1391
169 Nayef Aguerd Olympique de Marseille 16 1,399 1 1 0.75 +0.25 1399
169 Louis Leroux Nantes 23 1,443 1 1 1.61 −0.61 1443
169 Josué Casimir Auxerre 31 1,532 1 1 2.87 −1.87 1532
169 Ngal'ayel Mukau Lille 30 1,566 1 1 2.00 −1.00 1566
169 Junior Mwanga RC Strasbourg 20 1,642 1 1 1.19 −0.19 1642
169 Daouda Guindo Stade Brestois 25 1,700 1 1 1.23 −0.23 1700
169 Hicham Boudaoui Nice 26 1,704 1 1 1.60 −0.60 1704
169 Anthony Rouault Stade Rennais 21 1,724 1 1 1.65 −0.65 1724
169 Simon Ebonog Le Havre 30 1,778 1 1 1.69 −0.69 1778
169 Marvin Senaya Auxerre 25 1,784 1 1 1.40 −0.40 1784
169 Otávio Paris FC 23 1,908 1 1 0.42 +0.58 1908
169 Thomas Meunier Lille 25 1,915 1 1 1.18 −0.18 1915
169 Benjamin Pavard Olympique de Marseille 27 1,952 1 1 0.76 +0.24 1952
169 Tanner Tessmann Olympique Lyonnais 29 1,960 1 1 2.32 −1.32 1960
169 Pierre Lees Melou Paris FC 24 1,966 1 1 1.30 −0.30 1966
169 Vitinha Paris Saint-Germain 29 2,121 1 1 1.06 −0.06 2121
  • goals 2+ above xG
  • under 90 minutes
About these figures What each column counts, and which feed it was counted from. Show
Apps
Matches he played in this competition this season. A match he was named in and did not play does not count.
Min
Minutes played.
G
Goals scored, penalties included.
npG
Goals with penalties taken out.
xG
Expected goals: the quality of the chances he took, summed.
G − xG
Goals less expected goals, over the matches with both.
Min/G
Minutes played for each goal scored.

Appearances, minutes, goals, assists and shots on this page are summed over the Ligue 1 matches we hold per-player figures for — the same matches the expected figures are summed over, so the two can be read against each other.

Learn how xgEdge calculates these figures →