Bayern were in a different attacking league
The gap is the first thing that stands out. Bayern München generated 100.39 expected goals in the 2025/26 Bundesliga, while the next-highest team, RB Leipzig, finished at 66.43. That is a difference of 33.96 xG across the same 34-match schedule. Bayern also scored 122 actual goals, comfortably above its own estimated chance-quality total.
Those numbers are not taken from a handful of highlights or a selected winning run. They come from SmartMatchData's full set of 306 completed Bundesliga matches, covering all 18 clubs and every team's 34 fixtures. Each match has full-quality xG data for both sides. The figures offer a season-long view of the chances teams created and allowed, rather than a substitute for the official standings.
The xG attack rankings
Bayern's 100.39 xG was the league's highest total by a substantial margin. RB Leipzig followed with 66.43 xG and 66 actual goals. Bayer Leverkusen recorded 64.30 xG and 68 goals, while Borussia Dortmund posted 63.21 xG and scored 70. VfB Stuttgart rounded out the top five at 60.30 xG and 71 goals.
Bayern's 122 goals were 21.61 above its xG total. That difference is striking, but it should not be treated as proof of a single cause. Finishing execution, the types of shots taken, goalkeeper performance and natural variation can all influence the gap between actual goals and expected goals. The xG model values the chances; it does not dictate the final score.
Dortmund allowed the least dangerous chances
Bayern dominated the attacking measure, but Borussia Dortmund led a different ranking. Dortmund conceded only 39.08 xGA, the lowest total in the Bundesliga dataset, and allowed 34 actual goals. Bayern followed with 41.24 xGA and 36 goals conceded. Leverkusen recorded 45.75 xGA, ahead of Freiburg on 47.52 and Eintracht Frankfurt on 49.77.
The difference between Dortmund and Bayern in defensive xGA was relatively small: 2.16 expected goals across the entire season. That contrasts sharply with the gap between the two clubs in attacking xG, which was 37.18. Dortmund's defence restricted opponents' estimated chance quality effectively, but Bayern's much larger attacking output shaped the overall comparison.
xG difference puts Bayern's season into perspective
Subtracting xGA from xG gives a team's xG difference, a measure of the balance between chance creation and chance prevention. Bayern finished at +59.15. Dortmund ranked second at +24.13, followed by Leverkusen (+18.55), Leipzig (+16.04) and Stuttgart (+9.58).
Bayern's advantage over Dortmund in xG difference was 35.02. That tells a stronger story than attack rankings alone: Bayern created an exceptional volume of chance quality while also limiting opponents to the second-lowest xGA total. Still, xG difference is not a points table, a measure of trophies or a guarantee about future results.
Home teams created more chances across the league
Across the 306 Bundesliga fixtures, home teams generated 536.79 xG and scored 544 goals. Away teams produced 415.20 xG and scored 446. The season-wide figures show a home-side edge in both estimated chance quality and actual goals, although they do not isolate the reasons behind that advantage.
Venue splits can be useful when assessing individual teams, but they should be read alongside the strength of opponents and the number of matches played. Our Home vs Away Football Statistics guide explains how to compare those numbers without overreading short samples.
What the data covers and what it cannot prove
This analysis uses SmartMatchData's stored Bundesliga 2025/26 results from August 22, 2025 through May 16, 2026. It includes 306 completed regular matches, 18 teams, 34 matches per club, no administrative results and no missing final scores or home/away xG values. Every included match is flagged as full xG quality. Team xG is the sum of its attacking xG across home and away fixtures; xGA is the sum of the xG assigned to its opponents' shots. Displayed totals are rounded to two decimal places.
Expected goals are statistical estimates, and values can vary between providers. They are best used to add context to actual results, not to rewrite them. Explore the Bundesliga page for current league information, or read xG vs xGA Explained for the difference between attacking and defensive chance-quality measures.