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 1–50 of 600 players
| # | Player | Club | Apps | Min | G | npG | xG | G − xG | Min/G |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Esteban Lepaul | Stade Rennais | 34 | 2,702 | 21 | 18 | 16.01 | +4.99 | 129 |
| 2 | Joaquin Panichelli | RC Strasbourg | 27 | 2,195 | 16 | 11 | 14.22 | +1.78 | 137 |
| 2 | Mason Greenwood | Olympique de Marseille | 32 | 2,469 | 16 | 10 | 14.30 | +1.70 | 154 |
| 4 | Folarin Balogun | AS Monaco | 30 | 2,245 | 13 | 10 | 13.07 | −0.07 | 173 |
| 5 | Odsonne Édouard | RC Lens | 29 | 1,818 | 12 | 11 | 11.31 | +0.69 | 152 |
| 5 | Wesley Saïd | RC Lens | 29 | 2,010 | 12 | 11 | 9.91 | +2.09 | 168 |
| 5 | Lassine Sinayoko | Auxerre | 32 | 2,780 | 12 | 9 | 11.63 | +0.37 | 232 |
| 8 | Ansu Fati | AS Monaco | 25 | 1,086 | 11 | 8 | 10.24 | +0.76 | 99 |
| 8 | Bradley Barcola | Paris Saint-Germain | 29 | 1,750 | 11 | 11 | 9.84 | +1.16 | 159 |
| 8 | Corentin Tolisso | Olympique Lyonnais | 30 | 2,306 | 11 | 9 | 11.04 | −0.04 | 210 |
| 8 | Florian Thauvin | RC Lens | 33 | 2,461 | 11 | 9 | 11.05 | −0.05 | 224 |
| 12 | Ousmane Dembélé | Paris Saint-Germain | 22 | 1,063 | 10 | 8 | 6.48 | +3.52 | 106 |
| 12 | Ahmadou Bamba Dieng | Lorient | 22 | 1,220 | 10 | 9 | 9.10 | +0.90 | 122 |
| 12 | Pavel Šulc | Olympique Lyonnais | 27 | 1,568 | 10 | 10 | 8.88 | +1.12 | 157 |
| 12 | Martial Godo | RC Strasbourg | 28 | 1,613 | 10 | 10 | 7.84 | +2.16 | 161 |
| 12 | Pablo Pagis | Lorient | 28 | 1,771 | 10 | 8 | 7.43 | +2.57 | 177 |
| 12 | Pierre-Emerick Aubameyang | Olympique de Marseille | 30 | 2,047 | 10 | 10 | 12.84 | −2.84 | 205 |
| 18 | Breel Embolo | Stade Rennais | 31 | 1,872 | 9 | 9 | 8.60 | +0.40 | 208 |
| 18 | Ilan Kebbal | Paris FC | 29 | 2,229 | 9 | 6 | 6.59 | +2.41 | 248 |
| 18 | Romain Del Castillo | Stade Brestois | 32 | 2,643 | 9 | 3 | 8.32 | +0.68 | 294 |
| 21 | Amine Gouiri | Olympique de Marseille | 22 | 1,328 | 8 | 8 | 6.15 | +1.85 | 166 |
| 21 | Khvicha Kvaratskhelia | Paris Saint-Germain | 28 | 1,484 | 8 | 7 | 7.54 | +0.46 | 186 |
| 21 | Sofiane Diop | Nice | 35 | 2,253 | 8 | 6 | 7.02 | +0.98 | 282 |
| 21 | Gauthier Hein | Metz | 29 | 2,354 | 8 | 3 | 8.10 | −0.10 | 294 |
| 21 | Matías Fernández-Pardo | Lille | 29 | 2,380 | 8 | 6 | 8.32 | −0.32 | 298 |
| 21 | Hakon Arnar Haraldsson | Lille | 32 | 2,475 | 8 | 8 | 7.86 | +0.14 | 309 |
| 21 | Yann Gboho | Toulouse | 31 | 2,608 | 8 | 8 | 5.70 | +2.30 | 326 |
| 21 | Ludovic Ajorque | Stade Brestois | 32 | 2,823 | 8 | 8 | 9.31 | −1.31 | 353 |
| 21 | Issa Soumaré | Le Havre | 34 | 2,949 | 8 | 7 | 15.82 | −7.82 | 369 |
| 30 | Elye Wahi | Nice | 15 | 1,015 | 7 | 6 | 3.65 | +3.35 | 145 |
| 30 | Sebastian Nanasi | RC Strasbourg | 19 | 1,061 | 7 | 7 | 3.78 | +3.22 | 152 |
| 30 | Désiré Doué | Paris Saint-Germain | 23 | 1,357 | 7 | 7 | 7.49 | −0.49 | 194 |
| 30 | Olivier Giroud | Lille | 30 | 1,623 | 7 | 4 | 8.96 | −1.96 | 232 |
| 34 | Gonçalo Ramos | Paris Saint-Germain | 30 | 1,321 | 6 | 5 | 8.59 | −2.59 | 220 |
| 34 | Emersonn | Toulouse | 27 | 1,504 | 6 | 6 | 6.47 | −0.47 | 251 |
| 34 | Igor Paixão | Olympique de Marseille | 30 | 1,981 | 6 | 6 | 6.29 | −0.29 | 330 |
| 34 | Mousa Tamari | Stade Rennais | 33 | 2,224 | 6 | 6 | 4.83 | +1.17 | 371 |
| 34 | Maghnes Akliouche | AS Monaco | 31 | 2,410 | 6 | 6 | 6.85 | −0.85 | 402 |
| 34 | Matthis Abline | Nantes | 32 | 2,499 | 6 | 6 | 6.86 | −0.86 | 417 |
| 40 | Hamza Igamane | Lille | 13 | 428 | 5 | 5 | 3.56 | +1.44 | 86 |
| 40 | Rayan Fofana | RC Lens | 25 | 814 | 5 | 5 | 5.50 | −0.50 | 163 |
| 40 | Alimami Gory | Paris FC | 24 | 990 | 5 | 5 | 3.58 | +1.42 | 198 |
| 40 | Willem Geubbels | Paris FC | 24 | 1,019 | 5 | 4 | 5.61 | −0.61 | 204 |
| 40 | Aiyegun Tosin | Lorient | 27 | 1,068 | 5 | 5 | 6.04 | −1.04 | 214 |
| 40 | Eric Ebimbe | Stade Brestois | 27 | 1,180 | 5 | 5 | 3.53 | +1.47 | 236 |
| 40 | Remy Labeau Lascary | Stade Brestois | 27 | 1,195 | 5 | 5 | 5.27 | −0.27 | 239 |
| 40 | Endrick | Olympique Lyonnais | 16 | 1,222 | 5 | 4 | 5.74 | −0.74 | 244 |
| 40 | Frank Magri | Toulouse | 17 | 1,264 | 5 | 5 | 4.45 | +0.55 | 253 |
| 40 | Prosper Peter | Angers | 29 | 1,273 | 5 | 5 | 5.38 | −0.38 | 255 |
| 40 | João Neves | Paris Saint-Germain | 21 | 1,287 | 5 | 5 | 2.62 | +2.38 | 257 |
- goals 2+ above xG
- under 90 minutes
About these figures What each column counts, and which feed it was counted from. Show Hide
- 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 →