Millwall vs Bristol City

29 December 2025 · Championship · 2025/26 · Referee David Webb

Full time 2 – 1

Half-time: 1–0

  • C. Neghli 16’
  • M. Langstaff 81’
  • A. Randell 49’

Match summary

Millwall saw off Bristol City 2-1. Millwall led 1-0 at half-time.

C. Neghli put Millwall ahead in the 16th minute, A. Randell equalised in the 49th minute, and M. Langstaff won it in the 81st minute.

Bristol City can feel hard done by, creating 0.96 expected goals (xG) from 16 shots to Millwall's 0.61 from 8.

Match stats

42% Possession 58%
8 Shots 16
2 Shots on target 3
1 Corners 8
346 Passes 463
69.9% Pass accuracy 79.3%
15 Tackles 15
15 Fouls 8
4 Yellow cards 1
0 Offsides 3

Key events

Millwall Bristol City
C. NeghliLeft foot shot1-0 (Millwall)
16’
23’
28’
J. KnightShot on target
35’
S. ArmstrongShot on target
38’
41’
R. LeonardB. Mitchell
46’
49’
A. RandellRight foot shot1-1 (Bristol City)
M. LangstaffR. Bangura-Williams
55’
D. McNamaraA. Emakhu
56’
66’
E. R. JacobsenS. Armstrong
J. BryanZ. Sturge
73’
T. BalloA. Doughty
73’
M. LangstaffRight foot shot2-1 (Millwall)
81’
T. Ballo
83’
87’

How the chances added up

Running total of expected goals (xG) for each side through the match. xG rates each chance by how often similar shots are scored. A goal is marked where it was scored.

0.0 0.5 1.0 1.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.61 0.96 16’ C. Neghli (Millwall), 1-0 16’ 49’ A. Randell (Bristol City), 1-1 49’ 81’ M. Langstaff (Millwall), 2-1 81’ 0.0 0.5 1.0 1.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.61 0.96 16’ C. Neghli (Millwall), 1-0 Neghli 16’ 49’ A. Randell (Bristol City), 1-1 Randell 49’ 81’ M. Langstaff (Millwall), 2-1 Langstaff 81’
Millwall 0.61 xGBristol City 0.96 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Bristol City attacking Millwall attacking 
81’ M. Langstaff (Millwall), open play, 0.23 xG, goal 33’ S. Armstrong (Bristol City), open play, 0.16 xG, blocked 76’ M. Langstaff (Millwall), open play, 0.12 xG, blocked 49’ A. Randell (Bristol City), open play, 0.11 xG, goal 52’ A. Mehmeti (Bristol City), open play, 0.09 xG, off target 65’ R. McCrorie (Bristol City), from a corner, 0.09 xG, blocked 16’ C. Neghli (Millwall), open play, 0.08 xG, goal 36’ R. Atkinson (Bristol City), from a corner, 0.07 xG, off target 35’ S. Armstrong (Bristol City), open play, 0.06 xG, saved 71’ S. Twine (Bristol City), open play, 0.06 xG, blocked 50’ S. Armstrong (Bristol City), open play, 0.05 xG, off target 65’ Z. Vyner (Bristol City), from a corner, 0.05 xG, off target 90’ M. Ivanović (Millwall), open play, 0.05 xG, off target 90+3’ Z. Vyner (Bristol City), from a corner, 0.05 xG, blocked 90+6’ T. Ballo (Millwall), open play, 0.05 xG, blocked 62’ A. Mehmeti (Bristol City), open play, 0.04 xG, blocked 28’ J. Knight (Bristol City), set piece, 0.04 xG, saved 88’ C. Neghli (Millwall), direct free kick, 0.04 xG, blocked 8’ S. Twine (Bristol City), from a corner, 0.03 xG, blocked 89’ M. Ivanović (Millwall), open play, 0.03 xG, off target 71’ J. Knight (Bristol City), open play, 0.02 xG, blocked 42’ S. Twine (Bristol City), set piece, 0.02 xG, blocked 48’ M. Ivanović (Millwall), open play, 0.01 xG, blocked 90+8’ R. McCrorie (Bristol City), open play, 0.02 xG, off target 81’ M. Langstaff (Millwall), open play, 0.23 xG, goal 33’ S. Armstrong (Bristol City), open play, 0.16 xG, blocked 76’ M. Langstaff (Millwall), open play, 0.12 xG, blocked 49’ A. Randell (Bristol City), open play, 0.11 xG, goal 52’ A. Mehmeti (Bristol City), open play, 0.09 xG, off target 65’ R. McCrorie (Bristol City), from a corner, 0.09 xG, blocked 16’ C. Neghli (Millwall), open play, 0.08 xG, goal 36’ R. Atkinson (Bristol City), from a corner, 0.07 xG, off target 35’ S. Armstrong (Bristol City), open play, 0.06 xG, saved 71’ S. Twine (Bristol City), open play, 0.06 xG, blocked 50’ S. Armstrong (Bristol City), open play, 0.05 xG, off target 65’ Z. Vyner (Bristol City), from a corner, 0.05 xG, off target 90’ M. Ivanović (Millwall), open play, 0.05 xG, off target 90+3’ Z. Vyner (Bristol City), from a corner, 0.05 xG, blocked 90+6’ T. Ballo (Millwall), open play, 0.05 xG, blocked 28’ J. Knight (Bristol City), set piece, 0.04 xG, saved 62’ A. Mehmeti (Bristol City), open play, 0.04 xG, blocked 88’ C. Neghli (Millwall), direct free kick, 0.04 xG, blocked 89’ M. Ivanović (Millwall), open play, 0.03 xG, off target 8’ S. Twine (Bristol City), from a corner, 0.03 xG, blocked 71’ J. Knight (Bristol City), open play, 0.02 xG, blocked 42’ S. Twine (Bristol City), set piece, 0.02 xG, blocked 48’ M. Ivanović (Millwall), open play, 0.01 xG, blocked 90+8’ R. McCrorie (Bristol City), open play, 0.02 xG, off target
Size shows xG Goal On target Off target or blocked

Hover or tap a shot for the player, minute and xG.

Lineups

Millwall 4-2-3-1 Starting XI
Crocombe
Crama
Taylor
Cooper
Sturge
Doughty
Mitchell 46’
Neghli
Bangura-Williams 55’
Emakhu 56’
Ivanović
Bristol City 3-4-2-1 Starting XI
O'Leary
Vyner
Dickie
Atkinson 66’
McCrorie
Knight
Randell
Pring
Twine 88’
Mehmeti
Armstrong 66’

Player stats

Goalkeeper1 player
90′ 2 1 40 3 – – – –
Defenders6 players
90′ 1 1 – 4 3 35 2 – –
90′ 3 3 – 4 1 36 1 – – –
90′ 2 2 – 6 4 44 – – – –
73′ 1 2 – 4 1 28 2 – –
R. Leonard Came on as a substitute
45′ 1 – – 1 – 20 – – – –
D. McNamara Came on as a substitute
34′ – – – 2 1 12 2 – – –
Midfielders8 players
73′ – – 29 – – – 2 – 2 –
B. Mitchell
45′ – – 26 – – 1 1 1 – – –
90′ 1 – 28 – – 1 – 3 3 – –
R. Bangura-Williams
55′ – – 11 – – 1 – 4 1 1 –
A. Emakhu
56′ – – 2 – – – – 3 – 2 –
M. Langstaff Came on as a substitute
35′ 1 – 5 1 – 2 – 2 1 – –
J. Bryan Came on as a substitute
17′ – – 9 – – 1 – 1 – – –
T. Ballo Came on as a substitute
17′ – – 5 – – – – 1 1 1
Forwards1 player
90′ – – 3 – 0.09 – 1 6 – 16 –
Came on Taken off Sent off Red is the most in that position for the team

Every player who took the pitch, starters first and then substitutes. A dash means none. xG and xA are expected goals and assists. A blank cell means that figure is not available for that player.

Before kick-off

Millwall win 39% Avg odds 2.39
Draw 29% Avg odds 3.26
Bristol City win 32% Avg odds 2.98

Chances implied by the average closing odds, with the bookmaker margin removed.

Form going into the game

Last five league games before this one, oldest first. Select one to open it.

Previous and next meeting

Shots, expected goals, timeline, lineups, team and player statistics from Bzzoiro Sports Data (sports.bzzoiro.com). Results and odds from football-data.co.uk.