xgEdge

Bundesliga top scorers 2025/2026

Every Bundesliga 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.

Harry Kane leads the scoring on 36 goals, from 2382 minutes. That is 17 clear of Deniz Undav. Harry Kane has scored 9.07 more than his chances were worth: 36 goals from 26.93 xG. Andrej Ilić has scored 6.37 fewer than his chances were worth: 5 goals from 11.37 xG.

Showing 251–300 of 518 players

Bundesliga top scorers 2025/2026
# Player Club Apps Min G npG xG G − xG Min/G
185 Noahkai Banks FC Augsburg 22 1,707 1 1 1.18 −0.18 1707
185 Moritz Jenz VfL Wolfsburg 22 1,789 1 1 0.55 +0.45 1789
185 Dayot Upamecano FC Bayern München 24 1,797 1 1 1.06 −0.06 1797
185 Ísak Bergmann Jóhannesson 1. FC Köln 31 1,812 1 1 1.55 −0.55 1812
185 Marcel Sabitzer Borussia Dortmund 26 1,822 1 1 1.14 −0.14 1822
185 Maximilian Arnold VfL Wolfsburg 25 1,860 1 1 0.44 +0.56 1860
185 Cameron Puertas SV Werder Bremen 28 1,878 1 1 1.85 −0.85 1878
185 Derrick Köhn 1. FC Union Berlin 29 1,911 1 0 2.04 −1.04 1911
185 Marnon Busch 1. FC Heidenheim 29 1,912 1 1 1.13 −0.13 1912
185 Karol Mets FC St. Pauli 23 1,934 1 1 0.76 +0.24 1934
185 James Sands FC St. Pauli 24 1,941 1 1 1.07 −0.07 1941
185 Nicolás Capaldo Hamburger SV 26 2,009 1 1 1.87 −0.87 2009
185 Phillipp Mwene 1. FSV Mainz 05 29 2,072 1 1 2.00 −1.00 2072
185 Karim Coulibaly SV Werder Bremen 27 2,123 1 1 0.65 +0.35 2123
185 Arthur Theate Eintracht Frankfurt 24 2,143 1 1 1.01 −0.01 2143
185 Castello Lukeba RB Leipzig 26 2,177 1 1 1.20 −0.20 2177
185 Philipp Treu SC Freiburg 28 2,194 1 1 1.16 −0.16 2194
185 Robin Hranáč TSG Hoffenheim 29 2,251 1 1 2.21 −1.21 2251
185 Jonas Föhrenbach 1. FC Heidenheim 27 2,327 1 1 0.40 +0.60 2327
185 Albian Hajdari TSG Hoffenheim 30 2,440 1 1 1.72 −0.72 2440
185 Marco Friedl SV Werder Bremen 30 2,549 1 1 0.65 +0.35 2549
185 Joel Chima Fujita FC St. Pauli 32 2,671 1 1 1.20 −0.20 2671
185 Vladimír Coufal TSG Hoffenheim 34 3,017 1 1 0.96 +0.04 3017
185 Kaishu Sano 1. FSV Mainz 05 34 3,059 1 1 1.43 −0.43 3059
275 Cassiano Kiala FC Bayern München 1 1 0 0 — — —
275 Louis Lemke Hamburger SV 1 1 0 0 — — —
275 Mathis Albert Borussia Dortmund 1 1 0 0 — — —
275 Tobias Weigel 1. FC Heidenheim 1 1 0 0 — — —
275 Yannick Eduardo TSG Hoffenheim 1 1 0 0 — — —
275 Youssoupha Niang — 1 1 0 0 — — —
275 Isak Hansen Aarøen SV Werder Bremen 1 2 0 0 — — —
275 Erblin Osmani FC Bayern München 1 3 0 0 — — —
275 Kevin Kampl RB Leipzig 3 3 0 0 — — —
275 Dmytro Bogdanov 1. FC Union Berlin 2 5 0 0 0.61 −0.61 —
275 Leart Paqarada 1. FC Heidenheim 1 7 0 0 — — —
275 Samba Konaté RB Leipzig 1 8 0 0 0.02 −0.02 —
275 Deniz Ofli FC Bayern München 1 8 0 0 — — —
275 Ben Bobzien 1. FSV Mainz 05 1 9 0 0 — — —
275 Luka Duric TSG Hoffenheim 1 9 0 0 — — —
275 Charles Herrmann Borussia M'gladbach 1 10 0 0 — — —
275 Jonah Kusi-Asare FC Bayern München 1 10 0 0 — — —
275 Timothy Chandler Eintracht Frankfurt 1 10 0 0 — — —
275 Rouven Tarnutzer SC Freiburg 1 11 0 0 — — —
275 Tim Schnitzer FC Augsburg 1 11 0 0 — — —
275 Timo Werner RB Leipzig 3 13 0 0 — — —
275 Linus Guther 1. FC Union Berlin 1 14 0 0 — — —
275 Shafiq Nandja Hamburger SV 2 14 0 0 — — —
275 Almugera Kabar Borussia Dortmund 1 15 0 0 0.10 −0.10 —
275 Arne Maier FC Augsburg 1 15 0 0 — — —
275 Tim Oermann Bayer 04 Leverkusen 2 16 0 0 — — —
  • 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 Bundesliga 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 →