Bundesliga · 2024

Borussia M'gladbach 1–0 RB Leipzig · Bundesliga

1–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 1–0.

Shots
1619
Shots on target
33
Expected goals
1.911.19
Possession
40%60%

Full time

What the match recorded

Borussia M'gladbach beat RB Leipzig 1–0. Recorded in this match (Borussia M'gladbach – RB Leipzig): shots 16–19, shots on target 3–3, expected goals 1.91–1.19, possession 40%–60%. 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 shots average is above their season average.

16.4 shots/match ▲ShotsLast 5 · Season12 shots/match
Evidence and caveat

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

Window: last_5 versus season

MetricLast 5SeasonBaseline
Shots16.4 shots/match12 shots/match12.5 shots/match

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

This match

Match statistics

  • Shots16 shots19 shotsBorussia M'gladbach 16 shots, RB Leipzig 19 shots
  • Shots on target3 shots3 shotsBorussia M'gladbach 3 shots, RB Leipzig 3 shots
  • Expected goals1.91 xG1.19 xGBorussia M'gladbach 1.91 xG, RB Leipzig 1.19 xG
  • Possession40%60%Borussia M'gladbach 40%, RB Leipzig 60%
  • Corners5 corners8 cornersBorussia M'gladbach 5 corners, RB Leipzig 8 corners
  • Fouls5 fouls9 foulsBorussia M'gladbach 5 fouls, RB Leipzig 9 fouls

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.

Christoph Baumgartner · RB Leipzig · 33′ · 0.01 xG · off target or blockedAlassane Pléa · Borussia M'gladbach · 55′ · 0.01 xG · off target or blockedXavi Simons · RB Leipzig · 9′ · 0.02 xG · on targetAmadou Haidara · RB Leipzig · 12′ · 0.02 xG · off target or blockedChristoph Baumgartner · RB Leipzig · 63′ · 0.02 xG · off target or blockedAlassane Pléa · Borussia M'gladbach · 29′ · 0.03 xG · off target or blockedKo Itakura · Borussia M'gladbach · 56′ · 0.04 xG · on targetLoïs Openda · RB Leipzig · 38′ · 0.05 xG · off target or blockedRidle Baku · RB Leipzig · 47′ · 0.05 xG · off target or blockedAmadou Haidara · RB Leipzig · 52′ · 0.05 xG · off target or blockedRocco Reitz · Borussia M'gladbach · 72′ · 0.05 xG · off target or blockedXavi Simons · RB Leipzig · 90′ · 0.05 xG · off target or blockedTomáš Čvančara · Borussia M'gladbach · 14′ · 0.06 xG · off target or blockedRobin Hack · Borussia M'gladbach · 21′ · 0.06 xG · on targetLoïs Openda · RB Leipzig · 32′ · 0.06 xG · off target or blockedAlassane Pléa · Borussia M'gladbach · 45′ · 0.06 xG · off target or blockedChristoph Baumgartner · RB Leipzig · 61′ · 0.06 xG · off target or blockedNico Elvedi · Borussia M'gladbach · 72′ · 0.06 xG · off target or blockedLoïs Openda · RB Leipzig · 75′ · 0.06 xG · off target or blockedChristoph Baumgartner · RB Leipzig · 46′ · 0.07 xG · off target or blockedChristoph Baumgartner · RB Leipzig · 61′ · 0.07 xG · on targetXavi Simons · RB Leipzig · 24′ · 0.08 xG · on targetFranck Honorat · Borussia M'gladbach · 53′ · 0.08 xG · off target or blockedAlassane Pléa · Borussia M'gladbach · 62′ · 0.08 xG · off target or blockedNico Elvedi · Borussia M'gladbach · 54′ · 0.09 xG · off target or blockedLoïs Openda · RB Leipzig · 66′ · 0.09 xG · off target or blockedTomáš Čvančara · Borussia M'gladbach · 42′ · 0.10 xG · off target or blockedWilli Orbán · RB Leipzig · 67′ · 0.10 xG · off target or blockedTomáš Čvančara · Borussia M'gladbach · 45′ · 0.12 xG · off target or blockedLoïs Openda · RB Leipzig · 71′ · 0.12 xG · off target or blockedWilli Orbán · RB Leipzig · 85′ · 0.16 xG · off target or blockedChristoph Baumgartner · RB Leipzig · 49′ · 0.17 xG · off target or blockedTomáš Čvančara · Borussia M'gladbach · 13′ · 0.19 xG · off target or blockedAlassane Pléa · Borussia M'gladbach · 80′ · 0.28 xG · off target or blockedAlassane Pléa · Borussia M'gladbach · 56′ · 0.53 xG · goal
  • off target
  • on target
  • goal
  • penalty
  • size = xG

Borussia M'gladbach: 16 shots, 3 on target, 1.84 xG. RB Leipzig: 19 shots, 3 on target, 1.31 xG.

How the match built

Expected-goals timeline

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

0120′HT90′Alassane Pléa · Borussia M'gladbach · 56′

The step line is cumulative expected goals; circles mark goals. Final: Borussia M'gladbach 1.84 xG · RB Leipzig 1.31 xG.

History

Head-to-head

Recent meetings between these teams.

Last 5 meetings

1Borussia M'gladbach
1Draws
3RB Leipzig
RB Leipzig — Borussia M'gladbach · Bundesliga0–0
RB Leipzig — Borussia M'gladbach · Bundesliga2–0
Borussia M'gladbach — RB Leipzig · Bundesliga0–1
RB Leipzig — Borussia M'gladbach · Bundesliga3–0
Borussia M'gladbach — RB Leipzig · Bundesliga3–0

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 4 of 11 directional metrics · RB Leipzig in 5 · 2 too close

led this metric higher value (descriptive) too close

Window

Season

Borussia M'gladbach27 matchesRB Leipzig27 matches
1.63 goals/match ▲Goals scored27/271.52 goals/match
1.48 goals/matchGoals allowed27/27▲ 1.26 goals/match
1.56 xG/match ▲Expected goals27/271.36 xG/match
12.4 shots/matchShots27/2712 shots/match
4.93 shots/match ▲Shots on target27/274.44 shots/match
50.7%Possession27/27● 52.2%
4.52 corners/matchCorners27/27● 4.59 corners/match
10.4 fouls/matchFouls27/2711.2 fouls/match

Evidence quality

How much supports this analysis

Grade A · Strong evidenceStrong evidence — limited
Season samples27 / 27home / 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.
  • Some metrics are unavailable or below their observation minimum: cards.
  • The fixture season differs from the competition's configured active season.
Analysis cutoff: Sat, 29 Mar 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