Bundesliga · 2025PreZero Arena

TSG Hoffenheim 3–1 RB Leipzig · 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
1217
Shots on target
45
Expected goals
1.821.81
Possession
49%51%

Full time

What the match recorded

1899 Hoffenheim beat RB Leipzig 3–1. Recorded in this match (1899 Hoffenheim – RB Leipzig): shots 12–17, shots on target 4–5, expected goals 1.82–1.81, possession 49%–51%. 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.

RB Leipzig's recent record differs from the season

moderate

RB Leipzig's last-five goals scored average is above their season average.

2.6 goals/match ▲Goals forLast 5 · Season2 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 for2.6 goals/match2 goals/match1.42 goals/match

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

Both teams have elevated corners records

weak

Each team's season corners average is above the competition baseline.

5.5 corners/matchCorners1899 Hoffenheim · RB Leipzig● 5.7 corners/match
Evidence and caveat

Comparison: Both team averages are compared with the same competition baseline.

Window: season

Metric1899 HoffenheimRB LeipzigBaseline
Corners5.5 corners/match5.7 corners/match4.9 corners/match

Caveat: A shared historical pattern is descriptive and may not repeat in one fixture.

This match

Match statistics

  • Shots12 shots17 shotsTSG Hoffenheim 12 shots, RB Leipzig 17 shots
  • Shots on target4 shots5 shotsTSG Hoffenheim 4 shots, RB Leipzig 5 shots
  • Expected goals1.82 xG1.81 xGTSG Hoffenheim 1.82 xG, RB Leipzig 1.81 xG
  • Possession49%51%TSG Hoffenheim 49%, RB Leipzig 51%
  • Corners5 corners5 cornersTSG Hoffenheim 5 corners, RB Leipzig 5 corners
  • Fouls13 fouls5 foulsTSG Hoffenheim 13 fouls, RB Leipzig 5 fouls
  • Yellow cards3 cards2 cardsTSG Hoffenheim 3 cards, RB Leipzig 2 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.

Vladimír Coufal · 1899 Hoffenheim · 12′ · 0.02 xG · off target or blockedLeon Avdullahu · 1899 Hoffenheim · 35′ · 0.02 xG · off target or blockedYan Diomande · RB Leipzig · 48′ · 0.02 xG · off target or blockedLeon Avdullahu · 1899 Hoffenheim · 35′ · 0.03 xG · off target or blockedAssan Ouédraogo · RB Leipzig · 54′ · 0.03 xG · off target or blockedDavid Raum · RB Leipzig · 60′ · 0.03 xG · off target or blockedAlexander Prass · 1899 Hoffenheim · 88′ · 0.03 xG · off target or blockedAssan Ouédraogo · RB Leipzig · 24′ · 0.04 xG · off target or blockedAndrej Kramarić · 1899 Hoffenheim · 24′ · 0.04 xG · off target or blockedTim Lemperle · 1899 Hoffenheim · 38′ · 0.04 xG · goalDavid Raum · RB Leipzig · 47′ · 0.04 xG · off target or blockedYan Diomande · RB Leipzig · 64′ · 0.04 xG · on targetAntonio Nusa · RB Leipzig · 56′ · 0.05 xG · off target or blockedNicolas Seiwald · RB Leipzig · 63′ · 0.05 xG · off target or blockedAntonio Nusa · RB Leipzig · 13′ · 0.06 xG · off target or blockedGrischa Prömel · 1899 Hoffenheim · 7′ · 0.07 xG · off target or blockedBernardo · 1899 Hoffenheim · 26′ · 0.07 xG · off target or blockedWilli Orbán · RB Leipzig · 90′ · 0.07 xG · off target or blockedWouter Burger · 1899 Hoffenheim · 20′ · 0.08 xG · off target or blockedAssan Ouédraogo · RB Leipzig · 31′ · 0.08 xG · off target or blockedAntonio Nusa · RB Leipzig · 6′ · 0.09 xG · off target or blockedWilli Orbán · RB Leipzig · 50′ · 0.13 xG · off target or blockedGrischa Prömel · 1899 Hoffenheim · 79′ · 0.16 xG · goalWilli Orbán · RB Leipzig · 90′ · 0.16 xG · on targetAntonio Nusa · RB Leipzig · 4′ · 0.23 xG · on targetMuhammed Damar · 1899 Hoffenheim · 90′ · 0.29 xG · on targetRômulo · RB Leipzig · 29′ · 0.31 xG · on targetYan Diomande · RB Leipzig · 9′ · 0.32 xG · goalAlbian Hajdari · 1899 Hoffenheim · 20′ · 1.00 xG · goal
  • off target
  • on target
  • goal
  • penalty
  • size = xG

1899 Hoffenheim: 12 shots, 4 on target, 1.85 xG. RB Leipzig: 17 shots, 5 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′Albian Hajdari · 1899 Hoffenheim · 20′Tim Lemperle · 1899 Hoffenheim · 38′Grischa Prömel · 1899 Hoffenheim · 79′Yan Diomande · RB Leipzig · 9′

The step line is cumulative expected goals; circles mark goals. Final: 1899 Hoffenheim 1.85 xG · RB Leipzig 1.75 xG.

History

Head-to-head

Recent meetings between these teams.

Last 5 meetings

1TSG Hoffenheim
1Draws
3RB Leipzig
RB Leipzig — TSG Hoffenheim · Bundesliga3–1
TSG Hoffenheim — RB Leipzig · Bundesliga4–3
TSG Hoffenheim — RB Leipzig · Bundesliga1–1
RB Leipzig — TSG Hoffenheim · Bundesliga3–1
RB Leipzig — TSG Hoffenheim · Bundesliga1–0

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 1 of 11 directional metrics · RB Leipzig in 7 · 3 too close

led this metric higher value (descriptive) too close

Window

Season

TSG Hoffenheim10 matchesRB Leipzig10 matches
2.1 goals/matchGoals scored10/102 goals/match
1.6 goals/matchGoals allowed10/10▲ 1.3 goals/match
1.68 xG/matchExpected goals10/10▲ 1.91 xG/match
12.8 shots/matchShots10/10▲ 15.9 shots/match
5 shots/matchShots on target10/105.2 shots/match
52.4% ●Possession10/1048.3%
5.5 corners/matchCorners10/10● 5.7 corners/match
2.1 cards/matchCards10/101.6 cards/match
15.1 fouls/matchFouls10/1010 fouls/match

Evidence quality

How much supports this analysis

Grade A · Strong evidenceStrong evidence — limited
Season samples10 / 10home / 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, 8 Nov 2025, 18: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