Ligue 1 xG leaders 2025/2026
Ligue 1 players ranked by expected goals (xG) in 2025/2026, every player with minutes included. Esteban Lepaul has the most expected goals, 16.01 xG from 2702 minutes.
Showing 101–150 of 600 players
| # | Player | Club | Min | Shots | xG | npxG | xG/shot | xG/90 | G |
|---|---|---|---|---|---|---|---|---|---|
| 101 | Goduine Koyalipou | Angers | 675 | 22 | 2.69 | 1.87 | 0.12 | 0.36 | 2 |
| 102 | Afonso Moreira | Olympique Lyonnais | 1,724 | 40 | 2.67 | 2.67 | 0.07 | 0.14 | 4 |
| 103 | João Neves | Paris Saint-Germain | 1,287 | 27 | 2.62 | 2.62 | 0.10 | 0.18 | 5 |
| 104 | Abdoul Ouattara | RC Strasbourg | 1,775 | 27 | 2.53 | 2.53 | 0.09 | 0.13 | 2 |
| 105 | Mohamed Bamba | Lorient | 686 | 13 | 2.49 | 1.67 | 0.19 | 0.33 | 1 |
| 106 | Yassin Belkhdim | Angers | 2,149 | 33 | 2.42 | 2.42 | 0.07 | 0.10 | 2 |
| 107 | Robinio Vaz | Olympique de Marseille | 393 | 8 | 2.39 | 2.39 | 0.30 | 0.55 | 4 |
| 107 | Fodé Doucouré | Le Havre | 1,243 | 20 | 2.39 | 2.39 | 0.12 | 0.17 | 3 |
| 107 | Ainsley Maitland-Niles | Olympique Lyonnais | 2,485 | 14 | 2.39 | 1.57 | 0.17 | 0.09 | 1 |
| 110 | Vincent Marchetti | Paris FC | 840 | 24 | 2.37 | 2.37 | 0.10 | 0.25 | 2 |
| 111 | Morgan Sanson | Nice | 1,955 | 20 | 2.36 | 2.36 | 0.12 | 0.11 | 0 |
| 112 | Tanner Tessmann | Olympique Lyonnais | 1,960 | 26 | 2.32 | 2.32 | 0.09 | 0.11 | 1 |
| 113 | Ali Abdi | Nice | 1,210 | 16 | 2.31 | 2.31 | 0.14 | 0.17 | 3 |
| 113 | Achraf Hakimi | Paris Saint-Germain | 1,375 | 27 | 2.31 | 2.31 | 0.09 | 0.15 | 2 |
| 115 | Hamed Junior Traorè | Olympique de Marseille | 619 | 13 | 2.30 | 2.30 | 0.18 | 0.33 | 2 |
| 116 | Leonardo Balerdi | Olympique de Marseille | 1,998 | 20 | 2.22 | 2.22 | 0.11 | 0.10 | 0 |
| 117 | Himad Abdelli | Olympique de Marseille | 1,096 | 15 | 2.21 | 0.57 | 0.15 | 0.18 | 2 |
| 118 | Romain Perraud | Lille | 2,253 | 33 | 2.19 | 2.19 | 0.07 | 0.09 | 3 |
| 119 | Ismaelo Ganiou | RC Lens | 2,014 | 22 | 2.15 | 2.15 | 0.10 | 0.10 | 3 |
| 120 | Roman Yaremchuk | Olympique Lyonnais | 561 | 16 | 2.12 | 2.12 | 0.13 | 0.34 | 4 |
| 121 | Timothy Weah | Olympique de Marseille | 2,263 | 29 | 2.07 | 2.07 | 0.07 | 0.08 | 2 |
| 122 | Guéla Doué | RC Strasbourg | 2,063 | 12 | 2.05 | 2.05 | 0.17 | 0.09 | 2 |
| 123 | Sinaly Diomandé | Auxerre | 2,134 | 9 | 2.03 | 2.03 | 0.23 | 0.09 | 2 |
| 123 | Adama Camara | Paris FC | 2,171 | 18 | 2.03 | 2.03 | 0.11 | 0.08 | 1 |
| 123 | Nicolas Cozza | Nantes | 2,303 | 12 | 2.03 | 2.03 | 0.17 | 0.08 | 0 |
| 126 | Kevin Carlos Omoruyi | Nice | 901 | 22 | 2.01 | 2.01 | 0.09 | 0.20 | 0 |
| 126 | Lamine Camara | AS Monaco | 1,851 | 25 | 2.01 | 2.01 | 0.08 | 0.10 | 3 |
| 126 | Antoine Mendy | Nice | 2,278 | 18 | 2.01 | 2.01 | 0.11 | 0.08 | 1 |
| 129 | Luca Koleosho | Paris FC | 543 | 17 | 2.00 | 2.00 | 0.12 | 0.33 | 3 |
| 129 | Ngal'ayel Mukau | Lille | 1,566 | 20 | 2.00 | 2.00 | 0.10 | 0.11 | 1 |
| 131 | Lanroy Machine | Angers | 516 | 15 | 1.98 | 1.98 | 0.13 | 0.35 | 1 |
| 132 | Ibrahim Osman | Auxerre | 630 | 18 | 1.97 | 1.97 | 0.11 | 0.28 | 0 |
| 133 | Simon Adingra | AS Monaco | 868 | 22 | 1.94 | 1.94 | 0.09 | 0.20 | 3 |
| 134 | Diego Moreira | RC Strasbourg | 2,042 | 29 | 1.90 | 1.90 | 0.07 | 0.08 | 4 |
| 134 | Jean-Philippe Gbamin | Metz | 2,488 | 14 | 1.90 | 1.90 | 0.14 | 0.07 | 1 |
| 136 | Isak Jansson | Nice | 683 | 17 | 1.89 | 1.89 | 0.11 | 0.25 | 1 |
| 137 | Noah Cadiou | Lorient | 1,881 | 19 | 1.87 | 1.87 | 0.10 | 0.09 | 3 |
| 138 | Ciro Immobile | Paris FC | 711 | 15 | 1.84 | 1.84 | 0.12 | 0.23 | 2 |
| 139 | Martín Satriano | Olympique Lyonnais | 703 | 16 | 1.81 | 1.81 | 0.11 | 0.23 | 2 |
| 140 | Bahereba Guirassy | Nantes | 827 | 15 | 1.80 | 1.80 | 0.12 | 0.20 | 2 |
| 141 | Julian Vignolo | Toulouse | 207 | 8 | 1.79 | 1.79 | 0.22 | 0.78 | 2 |
| 141 | Théo Le Bris | Lorient | 1,899 | 17 | 1.79 | 1.79 | 0.11 | 0.08 | 2 |
| 141 | Kévin Danois | Auxerre | 2,835 | 25 | 1.79 | 1.79 | 0.07 | 0.06 | 3 |
| 144 | Samir Chergui | Paris FC | 1,155 | 13 | 1.76 | 1.76 | 0.14 | 0.14 | 1 |
| 144 | Cristian Cásseres Jr. | Toulouse | 2,499 | 26 | 1.76 | 0.94 | 0.07 | 0.06 | 2 |
| 146 | Bouna Sarr | Metz | 897 | 15 | 1.75 | 1.75 | 0.12 | 0.18 | 0 |
| 147 | Dehmaine Tabibou | Nantes | 1,282 | 29 | 1.72 | 1.72 | 0.06 | 0.12 | 1 |
| 148 | Thilo Kehrer | AS Monaco | 2,358 | 16 | 1.70 | 1.70 | 0.11 | 0.06 | 0 |
| 149 | Simon Ebonog | Le Havre | 1,778 | 22 | 1.69 | 1.69 | 0.08 | 0.09 | 1 |
| 149 | Samson Baidoo | RC Lens | 1,832 | 17 | 1.69 | 1.69 | 0.10 | 0.08 | 2 |
- goals 2+ above xG
- under 90 minutes
About these figures What each column counts, and which feed it was counted from. Show Hide
- Min
- Minutes played.
- Shots
- Shots he has taken in this competition this season.
- xG
- Expected goals: the quality of the chances he took, summed.
- npxG
- Expected goals with penalties taken out.
- xG/shot
- Expected goals per shot taken — the average chance he gets on the end of. Shown from 5 shots.
- xG/90
- Expected goals per 90 minutes played.
- G
- Goals scored, penalties included.
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 →