Bundesliga · 2025PreZero Arena

TSG Hoffenheim 3–1 1. FC Heidenheim · Bundesliga

3–1Historical match

A completed match from a finished season. This page is the record of what happened.

Match at a glance

TSG Hoffenheim won 3–1.

Shots
1412
Shots on target
73
Expected goals
2.371.11
Possession
60%40%

Full time

What the match recorded

1899 Hoffenheim beat 1. FC Heidenheim 3–1. Recorded in this match (1899 Hoffenheim – 1. FC Heidenheim): shots 14–12, shots on target 7–3, expected goals 2.37–1.11, possession 60%–40%. This is what was recorded. It is not a claim that the result was foreseeable.

Pre-match record

What the data showed before kick-off. Kept for reference; it did not know the result.

1. FC Heidenheim's recent record differs from the season

moderate

1. FC Heidenheim's last-five goals scored average is above their season average.

1.2 goals/match ▲Goals forLast 5 · Season0.88 goals/match
Evidence and caveat

Comparison: An unweighted last-five average is compared with the unweighted season average.

Window: last_5 versus season

MetricLast 5SeasonBaseline
Goals for1.2 goals/match0.88 goals/match1.5 goals/match

Caveat: Five matches are sensitive to opponent mix and isolated match states.

The teams have contrasting possession records

moderate

1899 Hoffenheim have recorded the higher season possession share.

52.9% ●Possession1899 Hoffenheim · 1. FC Heidenheim42.3%
Evidence and caveat

Comparison: The recorded possession gap is 10.6 percentage points.

Window: season

Metric1899 Hoffenheim1. FC HeidenheimBaseline
Possession52.9%42.3%49.1%

Caveat: Possession share does not show where possession occurred or how chances were created.

This match

Match statistics

  • Shots14 shots12 shotsTSG Hoffenheim 14 shots, 1. FC Heidenheim 12 shots
  • Shots on target7 shots3 shotsTSG Hoffenheim 7 shots, 1. FC Heidenheim 3 shots
  • Expected goals2.37 xG1.11 xGTSG Hoffenheim 2.37 xG, 1. FC Heidenheim 1.11 xG
  • Possession60%40%TSG Hoffenheim 60%, 1. FC Heidenheim 40%
  • Corners7 corners5 cornersTSG Hoffenheim 7 corners, 1. FC Heidenheim 5 corners
  • Fouls14 fouls13 foulsTSG Hoffenheim 14 fouls, 1. FC Heidenheim 13 fouls
  • Yellow cards1 card1 cardTSG Hoffenheim 1 card, 1. FC Heidenheim 1 card

Every shot

Shot map

Every recorded shot, placed where it was taken and sized by its expected-goals value. Arrows show each team’s attacking direction.

Mathias Honsak · 1. FC Heidenheim · 60′ · 0.01 xG · off target or blockedJulian Niehues · 1. FC Heidenheim · 72′ · 0.02 xG · off target or blockedTim Lemperle · 1899 Hoffenheim · 13′ · 0.03 xG · on targetAlbian Hajdari · 1899 Hoffenheim · 50′ · 0.03 xG · off target or blockedMathias Honsak · 1. FC Heidenheim · 87′ · 0.03 xG · on targetAndrej Kramarić · 1899 Hoffenheim · 41′ · 0.05 xG · off target or blockedPatrick Mainka · 1. FC Heidenheim · 54′ · 0.05 xG · off target or blockedAlbian Hajdari · 1899 Hoffenheim · 44′ · 0.06 xG · off target or blockedArijon Ibrahimović · 1. FC Heidenheim · 70′ · 0.06 xG · off target or blockedMuhammed Damar · 1899 Hoffenheim · 90′ · 0.06 xG · on targetFisnik Asllani · 1899 Hoffenheim · 18′ · 0.07 xG · goalAlbian Hajdari · 1899 Hoffenheim · 50′ · 0.07 xG · off target or blockedStefan Schimmer · 1. FC Heidenheim · 75′ · 0.07 xG · goalJulian Niehues · 1. FC Heidenheim · 88′ · 0.08 xG · off target or blockedJan Schöppner · 1. FC Heidenheim · 71′ · 0.09 xG · off target or blockedStefan Schimmer · 1. FC Heidenheim · 72′ · 0.09 xG · off target or blockedArijon Ibrahimović · 1. FC Heidenheim · 42′ · 0.10 xG · on targetStefan Schimmer · 1. FC Heidenheim · 88′ · 0.10 xG · off target or blockedFisnik Asllani · 1899 Hoffenheim · 62′ · 0.14 xG · on targetFisnik Asllani · 1899 Hoffenheim · 48′ · 0.16 xG · off target or blockedGrischa Prömel · 1899 Hoffenheim · 73′ · 0.20 xG · off target or blockedWouter Burger · 1899 Hoffenheim · 51′ · 0.23 xG · on targetAndrej Kramarić · 1899 Hoffenheim · 63′ · 0.31 xG · goalTim Lemperle · 1899 Hoffenheim · 44′ · 0.33 xG · off target or blockedMarnon Busch · 1. FC Heidenheim · 67′ · 0.44 xG · off target or blockedTim Lemperle · 1899 Hoffenheim · 45′ · 0.62 xG · goal
  • off target
  • on target
  • goal
  • penalty
  • size = xG

1899 Hoffenheim: 14 shots, 7 on target, 2.36 xG. 1. FC Heidenheim: 12 shots, 3 on target, 1.14 xG.

How the match built

Expected-goals timeline

Expected goals accumulated minute by minute. Circles mark the goals that were actually scored.

01.252.50′HT90′Fisnik Asllani · 1899 Hoffenheim · 18′Tim Lemperle · 1899 Hoffenheim · 45′Andrej Kramarić · 1899 Hoffenheim · 63′Stefan Schimmer · 1. FC Heidenheim · 75′

The step line is cumulative expected goals; circles mark goals. Final: 1899 Hoffenheim 2.36 xG · 1. FC Heidenheim 1.14 xG.

History

Head-to-head

Recent meetings between these teams.

Last 5 meetings

1TSG Hoffenheim
3Draws
01. FC Heidenheim
TSG Hoffenheim — 1. FC Heidenheim · Bundesliga1–1
1. FC Heidenheim — TSG Hoffenheim · Bundesliga0–0
TSG Hoffenheim — 1. FC Heidenheim · Bundesliga1–1
1. FC Heidenheim — TSG Hoffenheim · Bundesliga2–3

Head-to-Head & Recent Meetings

Metric comparison

Team comparison

Season averages, with the sample size beside each metric.

Where the edge is

Season: TSG Hoffenheim favored in 10 of 11 directional metrics · 1. FC Heidenheim in 1

led this metric higher value (descriptive) too close

Window

Season

TSG Hoffenheim8 matches1. FC Heidenheim8 matches
1.88 goals/match ▲Goals scored8/80.88 goals/match
1.63 goals/match ▲Goals allowed8/82 goals/match
1.71 xG/match ▲Expected goals8/81.36 xG/match
13.3 shots/match ▲Shots8/812.1 shots/match
5.25 shots/match ▲Shots on target8/84.25 shots/match
52.9% ●Possession8/842.3%
6 corners/match ●Corners8/85.38 corners/match
2 cards/matchCards8/81.88 cards/match
15.1 fouls/matchFouls8/811.3 fouls/match

Evidence quality

How much supports this analysis

Grade B · Useful evidenceUseful evidence — limited
Season samples8 / 8home / away teams
Recent samples5 / 5last-five windows
FreshnessLess than one dayfrom nearest prior match
  • Evidence is usable but does not meet the strongest completeness threshold.

Known unknowns

  • Lineups, injuries, suspensions and tactical changes are not available in the retained dataset.
  • The fixture season differs from the competition's configured active season.
Analysis cutoff: Sat, 25 Oct 2025, 17:30 UTC · analysis-v4

Team rankings in Bundesliga

Make a graphic from this match

Creator Studio builds a branded post from this match's recorded data, with its evidence grade and source cutoff carried into the export.

Turn this match into a graphicReady-made from PitchMath data · No sign-up required