Bundesliga · 2025Borussia-Park

Borussia M'gladbach 4–0 TSG Hoffenheim · Bundesliga

4–0Historical match

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

Match at a glance

Borussia M'gladbach won 4–0.

Shots
911
Shots on target
63
Expected goals
1.21.62
Possession
44%56%

Full time

What the match recorded

Borussia Mönchengladbach beat 1899 Hoffenheim 4–0. Recorded in this match (Borussia Mönchengladbach – 1899 Hoffenheim): shots 9–11, shots on target 6–3, expected goals 1.2–1.62, possession 44%–56%. 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.

1899 Hoffenheim's recent record differs from the season

weak

1899 Hoffenheim's last-five goals scored average is below their season average.

1.6 goals/match ▲Goals forLast 5 · Season1.91 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.6 goals/match1.91 goals/match1.38 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.

46.7%PossessionBorussia Mönchengladbach · 1899 Hoffenheim● 55.3%
Evidence and caveat

Comparison: The recorded possession gap is 8.6 percentage points.

Window: season

MetricBorussia Mönchengladbach1899 HoffenheimBaseline
Possession46.7%55.3%47.5%

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

This match

Match statistics

  • Shots9 shots11 shotsBorussia M'gladbach 9 shots, TSG Hoffenheim 11 shots
  • Shots on target6 shots3 shotsBorussia M'gladbach 6 shots, TSG Hoffenheim 3 shots
  • Expected goals1.2 xG1.62 xGBorussia M'gladbach 1.2 xG, TSG Hoffenheim 1.62 xG
  • Possession44%56%Borussia M'gladbach 44%, TSG Hoffenheim 56%
  • Corners2 corners9 cornersBorussia M'gladbach 2 corners, TSG Hoffenheim 9 corners
  • Fouls11 fouls15 foulsBorussia M'gladbach 11 fouls, TSG Hoffenheim 15 fouls
  • Yellow cards4 cards6 cardsBorussia M'gladbach 4 cards, TSG Hoffenheim 6 cards

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.

Hugo Bolin · Borussia Mönchengladbach · 13′ · 0.02 xG · off target or blockedHugo Bolin · Borussia Mönchengladbach · 27′ · 0.02 xG · on targetKevin Stöger · Borussia Mönchengladbach · 49′ · 0.02 xG · off target or blockedAndrej Kramarić · 1899 Hoffenheim · 54′ · 0.02 xG · on targetKevin Diks · Borussia Mönchengladbach · 81′ · 0.03 xG · goalWouter Burger · 1899 Hoffenheim · 90′ · 0.03 xG · off target or blockedTim Lemperle · 1899 Hoffenheim · 6′ · 0.04 xG · off target or blockedBazoumana Touré · 1899 Hoffenheim · 44′ · 0.04 xG · off target or blockedFisnik Asllani · 1899 Hoffenheim · 56′ · 0.04 xG · on targetBazoumana Touré · 1899 Hoffenheim · 39′ · 0.05 xG · off target or blockedHugo Bolin · Borussia Mönchengladbach · 14′ · 0.06 xG · goalNico Elvedi · Borussia Mönchengladbach · 24′ · 0.06 xG · off target or blockedAdam Hložek · 1899 Hoffenheim · 78′ · 0.06 xG · off target or blockedHaris Tabaković · Borussia Mönchengladbach · 25′ · 0.08 xG · on targetBernardo · 1899 Hoffenheim · 43′ · 0.22 xG · off target or blockedOzan Kabak · 1899 Hoffenheim · 78′ · 0.22 xG · off target or blockedWael Mohya · Borussia Mönchengladbach · 23′ · 0.23 xG · off target or blockedHaris Tabaković · Borussia Mönchengladbach · 23′ · 0.30 xG · goalAdam Hložek · 1899 Hoffenheim · 90′ · 0.37 xG · off target or blockedRobin Hack · Borussia Mönchengladbach · 90′ · 0.58 xG · goalAndrej Kramarić · 1899 Hoffenheim · 7′ · 0.66 xG · on target
  • off target
  • on target
  • goal
  • penalty
  • size = xG

Borussia Mönchengladbach: 10 shots, 6 on target, 1.40 xG. 1899 Hoffenheim: 11 shots, 3 on target, 1.75 xG.

How the match built

Expected-goals timeline

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

0120′HT90′Hugo Bolin · Borussia Mönchengladbach · 14′Haris Tabaković · Borussia Mönchengladbach · 23′Kevin Diks · Borussia Mönchengladbach · 81′Robin Hack · Borussia Mönchengladbach · 90′

The step line is cumulative expected goals; circles mark goals. Final: Borussia Mönchengladbach 1.40 xG · 1899 Hoffenheim 1.75 xG.

History

Head-to-head

Recent meetings between these teams.

Last 5 meetings

2Borussia M'gladbach
1Draws
2TSG Hoffenheim
TSG Hoffenheim — Borussia M'gladbach · Bundesliga5–1
Borussia M'gladbach — TSG Hoffenheim · Bundesliga4–4
TSG Hoffenheim — Borussia M'gladbach · Bundesliga1–2
TSG Hoffenheim — Borussia M'gladbach · Bundesliga4–3
Borussia M'gladbach — TSG Hoffenheim · Bundesliga2–1

Head-to-Head & Recent Meetings

Metric comparison

Team comparison

Season averages, with the sample size beside each metric.

Where the edge is

Season: Borussia M'gladbach favored in 1 of 11 directional metrics · TSG Hoffenheim in 8 · 2 too close

led this metric higher value (descriptive) too close

Window

Season

Borussia M'gladbach34 matchesTSG Hoffenheim34 matches
1.24 goals/matchGoals scored34/34▲ 1.91 goals/match
1.56 goals/matchGoals allowed34/341.53 goals/match
1.25 xG/matchExpected goals34/34▲ 1.64 xG/match
11.6 shots/matchShots34/34▲ 14.1 shots/match
4.18 shots/matchShots on target34/34▲ 5.18 shots/match
46.7%Possession34/34● 55.3%
3.76 corners/matchCorners34/34● 5.79 corners/match
1.61 cards/matchCards28/282.21 cards/match
10.8 fouls/matchFouls34/3413.9 fouls/match

Evidence quality

How much supports this analysis

Grade A · Strong evidenceStrong evidence — limited
Season samples34 / 34home / away teams
Recent samples5 / 5last-five windows
FreshnessLess than one dayfrom nearest prior match
  • The fixture is outside the configured active season.
  • Recent samples and important metric coverage meet the strong evidence 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, 16 May 2026, 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