xgEdge

Wednesday, 14/01/2026 at 20:30

Full time
Match report · Bundesliga

TSG Hoffenheim 5:1 Borussia M'gladbach

TSG Hoffenheim Home 3.42 xG · 18 shots
Borussia M'gladbach Away 0.94 xG · 7 shots
51 The scoreline reflected the chances

Goals

  1. 22' Andrej Kramarić (pen.) TSG Hoffenheim · 0.82 xG chance 1–0
  2. 24' Tim Lemperle TSG Hoffenheim · 0.11 xG chance 2–0
  3. 45' Andrej Kramarić TSG Hoffenheim · 0.10 xG chance 3–0
  4. 45' Andrej Kramarić TSG Hoffenheim · 0.59 xG chance 4–0
  5. 69' Shuto Machino Borussia M'gladbach · 0.58 xG chance 4–1
  6. 77' Max Moerstedt TSG Hoffenheim · 0.40 xG chance 5–1

The shots behind it

TSG Hoffenheim Borussia M'gladbach
Shots
18
7
On target
10
5
Inside the box
13
4
xG per shot
0.19
0.13
Open play xG
2.43
0.72
Set-piece xG
0.19
0.19
Penalties
1
0
Shot-level xG may differ from the published match total

The provider publishes the match total separately from its shot-by-shot values. Those values are rounded to two decimals and, leaving out penalties and own goals, add up to its non-penalty xG: 2.63 for TSG Hoffenheim and 0.92 for Borussia M'gladbach.

Shot map

Both teams shown attacking the same goal for comparison.

TSG Hoffenheim · Andrej Kramarić · 22' · Goal · 12 m · 0.82 xG TSG Hoffenheim · Andrej Kramarić · 45' · Goal · 7 m · 0.59 xG Borussia M'gladbach · Shuto Machino · 69' · Goal · 13 m · 0.58 xG TSG Hoffenheim · Max Moerstedt · 77' · Goal · 5 m · 0.40 xG TSG Hoffenheim · Andrej Kramarić · 66' · No goal · 7 m · 0.26 xG TSG Hoffenheim · Andrej Kramarić · 57' · No goal · 3 m · 0.25 xG TSG Hoffenheim · Grischa Prömel · 88' · No goal · 8 m · 0.23 xG TSG Hoffenheim · Alexander Prass · 51' · No goal · 9 m · 0.20 xG TSG Hoffenheim · Bazoumana Touré · 90' · No goal · 14 m · 0.12 xG TSG Hoffenheim · Ozan Kabak · 4' · No goal · 4 m · 0.11 xG TSG Hoffenheim · Tim Lemperle · 24' · Goal · 14 m · 0.11 xG TSG Hoffenheim · Andrej Kramarić · 45' · Goal · 10 m · 0.10 xG Borussia M'gladbach · Yannick Engelhardt · 41' · No goal · 13 m · 0.08 xG Borussia M'gladbach · Kota Takai · 57' · No goal · 7 m · 0.08 xG Borussia M'gladbach · Kevin Stöger · 90' · No goal · 10 m · 0.08 xG TSG Hoffenheim · Andrej Kramarić · 7' · No goal · 10 m · 0.06 xG TSG Hoffenheim · Tim Lemperle · 66' · No goal · 10 m · 0.05 xG TSG Hoffenheim · Fisnik Asllani · 3' · No goal · 23 m · 0.04 xG Borussia M'gladbach · Lukas Ullrich · 4' · No goal · 19 m · 0.04 xG TSG Hoffenheim · Vladimír Coufal · 48' · No goal · 21 m · 0.04 xG Borussia M'gladbach · Lukas Ullrich · 61' · No goal · 26 m · 0.03 xG TSG Hoffenheim · Leon Avdullahu · 8' · No goal · 28 m · 0.02 xG TSG Hoffenheim · Andrej Kramarić · 27' · No goal · 27 m · 0.02 xG TSG Hoffenheim · Vladimír Coufal · 32' · No goal · 22 m · 0.02 xG Borussia M'gladbach · Philipp Sander · 40' · No goal · 23 m · 0.02 xG

All shots

25 shots · 4.35 xG

Hover, focus or tap a shot to read it.

  • TSG Hoffenheim
  • Borussia M'gladbach
  • Filled = goal
  • Dot area = xG (the smallest chances drawn at a minimum size)

Recent form

Last 6 · xG per match
TSG Hoffenheim

1.31 xG created 1.45 xGA

  • W 1.82 created, 1.81 conceded against RB Leipzig
  • D 1.38 created, 2.03 conceded against 1. FSV Mainz 05
  • W 2.08 created, 0.96 conceded against FC Augsburg
  • L 1.14 created, 1.26 conceded against Borussia Dortmund
  • W 1.31 created, 1.38 conceded against Hamburger SV
  • D 0.13 created, 1.27 conceded against VfB Stuttgart
Borussia M'gladbach

1.42 xG created 1.20 xGA

  • W 2.18 created, 0.33 conceded against 1. FC Heidenheim
  • D 0.42 created, 0.93 conceded against RB Leipzig
  • W 1.85 created, 0.97 conceded against 1. FSV Mainz 05
  • L 0.80 created, 1.72 conceded against VfL Wolfsburg
  • L 0.28 created, 1.43 conceded against Borussia Dortmund
  • W 2.99 created, 1.79 conceded against FC Augsburg

xG created xG conceded (xGA) W / D / L: the match result

Model details

Show

The model never priced this match before kick-off, so there is no projection to read the result against.

Limitations

The model reads expected goals and nothing else. It does not know the lineups, who is injured or suspended, what either side has to play for, the weather, or how congested the schedule around this match is.