Championship · 2025The Den

Millwall 2–1 Bristol City · Championship

2–1Historical match

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

Match at a glance

Millwall won 2–1.

Shots
816
Shots on target
23
Expected goals
0.630.96
Possession
42%58%

Full time

What the match recorded

Millwall beat Bristol City 2–1. Recorded in this match (Millwall – Bristol City): shots 8–16, shots on target 2–3, expected goals 0.63–0.96, possession 42%–58%. 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.

Recent scheduling adds useful context

weak

A compressed recent schedule is recorded for Millwall, Bristol City.

3.28 days ▲Rest daysMillwall · Bristol City3.2 days
Evidence and caveat

Comparison: Rest days and completed matches in the prior 14 days are shown directly.

Window: previous 14 days

MetricMillwallBristol CityBaseline
Rest days3.28 days3.2 days—
Matches last 14 days2 matches2 matches—

Caveat: The database does not describe travel, rotation decisions or player-level workload.

Millwall's recent record differs from the season

moderate

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

0.8 goals/match ▲Goals forLast 5 · Season1.13 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 for0.8 goals/match1.13 goals/match1.35 goals/match

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

This match

Match statistics

  • Shots8 shots16 shotsMillwall 8 shots, Bristol City 16 shots
  • Shots on target2 shots3 shotsMillwall 2 shots, Bristol City 3 shots
  • Expected goals0.63 xG0.96 xGMillwall 0.63 xG, Bristol City 0.96 xG
  • Possession42%58%Millwall 42%, Bristol City 58%
  • Corners1 corner8 cornersMillwall 1 corner, Bristol City 8 corners
  • Fouls15 fouls8 foulsMillwall 15 fouls, Bristol City 8 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.

Mihailo Ivanović · Millwall · 48′ · 0.01 xG · off target or blockedRoss McCrorie · Bristol City · 90′ · 0.01 xG · off target or blockedScott Twine · Bristol City · 42′ · 0.02 xG · off target or blockedJason Knight · Bristol City · 71′ · 0.02 xG · off target or blockedScott Twine · Bristol City · 8′ · 0.03 xG · off target or blockedMihailo Ivanović · Millwall · 89′ · 0.03 xG · off target or blockedJason Knight · Bristol City · 28′ · 0.04 xG · on targetAnis Mehmeti · Bristol City · 62′ · 0.04 xG · off target or blockedCamiel Neghli · Millwall · 88′ · 0.04 xG · off target or blockedSinclair Armstrong · Bristol City · 50′ · 0.05 xG · off target or blockedZak Vyner · Bristol City · 65′ · 0.05 xG · off target or blockedZak Vyner · Bristol City · 90′ · 0.05 xG · off target or blockedMihailo Ivanović · Millwall · 90′ · 0.05 xG · off target or blockedThierno Ballo · Millwall · 90′ · 0.05 xG · off target or blockedSinclair Armstrong · Bristol City · 35′ · 0.06 xG · on targetScott Twine · Bristol City · 71′ · 0.06 xG · off target or blockedCamiel Neghli · Millwall · 16′ · 0.07 xG · goalRobert Atkinson · Bristol City · 36′ · 0.08 xG · off target or blockedRoss McCrorie · Bristol City · 65′ · 0.08 xG · off target or blockedAnis Mehmeti · Bristol City · 52′ · 0.09 xG · off target or blockedAdam Randell · Bristol City · 49′ · 0.11 xG · goalMacaulay Langstaff · Millwall · 76′ · 0.12 xG · off target or blockedSinclair Armstrong · Bristol City · 33′ · 0.16 xG · off target or blockedMacaulay Langstaff · Millwall · 81′ · 0.24 xG · goal
  • off target
  • on target
  • goal
  • penalty
  • size = xG

Millwall: 8 shots, 2 on target, 0.61 xG. Bristol City: 16 shots, 3 on target, 0.95 xG.

How the match built

Expected-goals timeline

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

00.510′HT90′Camiel Neghli · Millwall · 16′Macaulay Langstaff · Millwall · 81′Adam Randell · Bristol City · 49′

The step line is cumulative expected goals; circles mark goals. Final: Millwall 0.61 xG · Bristol City 0.95 xG.

History

Head-to-head

Recent meetings between these teams.

Last 5 meetings

2Millwall
0Draws
3Bristol City
Bristol City — Millwall · Championship0–1
Millwall — Bristol City · Championship0–2
Bristol City — Millwall · Championship4–3
Bristol City — Millwall · Championship0–1
Millwall — Bristol City · Championship0–1

Head-to-Head & Recent Meetings

Metric comparison

Team comparison

Season averages, with the sample size beside each metric.

Where the edge is

Season: Millwall favored in 2 of 11 directional metrics · Bristol City in 6 · 3 too close

led this metric higher value (descriptive) too close

Window

Season

Millwall24 matchesBristol City24 matches
1.13 goals/matchGoals scored24/24▲ 1.38 goals/match
1.33 goals/matchGoals allowed24/24▲ 1.13 goals/match
1.19 xG/matchExpected goals24/24▲ 1.35 xG/match
12.3 shots/matchShots23/23▲ 13.8 shots/match
3.87 shots/matchShots on target23/23▲ 4.3 shots/match
46.5%Possession23/23● 46.8%
5.09 corners/matchCorners23/23● 5.39 corners/match
13.5 fouls/matchFouls22/239.74 fouls/match

Evidence quality

How much supports this analysis

Grade A · Strong evidenceStrong evidence — limited
Season samples24 / 24home / 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: Mon, 29 Dec 2025, 23:45 UTC · analysis-v4

Team rankings in Championship

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