Millwall vs Bristol City

4 March 2025 · Championship · 2024/25 · Referee Matt Donohue

Full time 0 – 2

Half-time: 0–0

  • Zak Vyner 53’
  • Harry Cornick 83’

Match summary

Bristol City took a 2-0 win at Millwall. It was goalless at half-time.

Zak Vyner put Bristol City ahead from a corner in the 53rd minute and Harry Cornick made it 0-2 in the 83rd minute.

The chances backed that up: Bristol City created 1.91 expected goals (xG) from 11 shots to Millwall's 0.93 from 13.

Match stats

Millwall Bristol City
13 Shots 11
1 Shots on Target 5
4 Corners 6
0 Yellow Cards 0
0 Red Cards 0
0.93 xG 1.91
0.93 Non-penalty xG 1.91

Key events

Millwall Bristol City
Kick-off
Half-time0-0
53’
Zak Vyner0-1 (Bristol City)
83’
Harry Cornick0-2 (Bristol City)
Full-time0-2

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 2.0 2.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.93 1.91 53’ Zak Vyner (Bristol City), 0-1 53’ 83’ Harry Cornick (Bristol City), 0-2 83’ 0.0 0.5 1.0 1.5 2.0 2.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.93 1.91 53’ Zak Vyner (Bristol City), 0-1 Vyner 53’ 83’ Harry Cornick (Bristol City), 0-2 Cornick 83’
Millwall 0.93 xGBristol City 1.91 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 
53’ Zak Vyner (Bristol City), from a corner, 0.84 xG, goal 83’ Harry Cornick (Bristol City), open play, 0.47 xG, goal 28’ Mihailo Ivanović (Millwall), set piece, 0.31 xG, off target 90+5’ George Saville (Millwall), open play, 0.20 xG, off target 83’ Sam Bell (Bristol City), open play, 0.15 xG, saved 12’ Cameron Pring (Bristol City), from a corner, 0.10 xG, off target 87’ Raees Bangura-Williams (Millwall), open play, 0.10 xG, blocked 86’ Josh Coburn (Millwall), open play, 0.08 xG, off target 53’ Rob Dickie (Bristol City), from a corner, 0.07 xG, off target 90+5’ Mihailo Ivanović (Millwall), open play, 0.06 xG, saved 57’ Sinclair Armstrong (Bristol City), from a corner, 0.06 xG, off target 83’ George Earthy (Bristol City), open play, 0.06 xG, blocked 16’ George Earthy (Bristol City), from a corner, 0.05 xG, saved 90+5’ Aidomo Emakhu (Millwall), open play, 0.05 xG, blocked 23’ Rob Dickie (Bristol City), from a corner, 0.04 xG, blocked 30’ Scott Twine (Bristol City), open play, 0.04 xG, saved 20’ Scott Twine (Bristol City), open play, 0.03 xG, off target 35’ Femi Azeez (Millwall), open play, 0.03 xG, off target 58’ Mihailo Ivanović (Millwall), open play, 0.03 xG, off target 27’ Tristan Crama (Millwall), set piece, 0.02 xG, blocked 4’ Raees Bangura-Williams (Millwall), open play, 0.02 xG, blocked 42’ Japhet Tanganga (Millwall), open play, 0.02 xG, off target 49’ Jake Cooper (Millwall), from a corner, 0.01 xG, off target 14’ Japhet Tanganga (Millwall), set piece, 0.01 xG, off target 53’ Zak Vyner (Bristol City), from a corner, 0.84 xG, goal 83’ Harry Cornick (Bristol City), open play, 0.47 xG, goal 28’ Mihailo Ivanović (Millwall), set piece, 0.31 xG, off target 90+5’ George Saville (Millwall), open play, 0.20 xG, off target 83’ Sam Bell (Bristol City), open play, 0.15 xG, saved 12’ Cameron Pring (Bristol City), from a corner, 0.10 xG, off target 87’ Raees Bangura-Williams (Millwall), open play, 0.10 xG, blocked 86’ Josh Coburn (Millwall), open play, 0.08 xG, off target 53’ Rob Dickie (Bristol City), from a corner, 0.07 xG, off target 90+5’ Mihailo Ivanović (Millwall), open play, 0.06 xG, saved 57’ Sinclair Armstrong (Bristol City), from a corner, 0.06 xG, off target 83’ George Earthy (Bristol City), open play, 0.06 xG, blocked 16’ George Earthy (Bristol City), from a corner, 0.05 xG, saved 90+5’ Aidomo Emakhu (Millwall), open play, 0.05 xG, blocked 23’ Rob Dickie (Bristol City), from a corner, 0.04 xG, blocked 30’ Scott Twine (Bristol City), open play, 0.04 xG, saved 20’ Scott Twine (Bristol City), open play, 0.03 xG, off target 58’ Mihailo Ivanović (Millwall), open play, 0.03 xG, off target 35’ Femi Azeez (Millwall), open play, 0.03 xG, off target 27’ Tristan Crama (Millwall), set piece, 0.02 xG, blocked 4’ Raees Bangura-Williams (Millwall), open play, 0.02 xG, blocked 42’ Japhet Tanganga (Millwall), open play, 0.02 xG, off target 49’ Jake Cooper (Millwall), from a corner, 0.01 xG, off target 14’ Japhet Tanganga (Millwall), set piece, 0.01 xG, off target
Size shows xG Goal On target Off target or blocked

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

Player stats

Players15 players
90′ – – – – – – –
90′ – – 1 0.02 – – –
90′ – – 2 0.02 – – –
90′ – – 1 0.01 – – –
Joe Bryan
90′ – – – – – – –
Casper De Norre Taken off
80′ – – – – – – –
Billy Mitchell Taken off
80′ – – – – – – –
Raees Bangura-Williams
90′ – – 2 0.12 – – –
Luke Cundle Taken off
69′ – – – – – – –
Femi Azeez Taken off
46′ – – 1 0.03 – – –
90′ – – 3 0.40 – – –
Aidomo Emakhu Came on as a substitute
44′ – – 1 0.05 – – –
Josh Coburn Came on as a substitute
21′ – – 1 0.08 – – –
George Saville Came on as a substitute
10′ – – 1 0.20 – – –
George Honeyman Came on as a substitute
10′ – – – – – – –
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.

Before kick-off

Millwall win 35% Avg odds 2.70
Draw 33% Avg odds 2.93
Bristol City win 32% Avg odds 2.95

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. Referee data before 2025/26 from the Transfermarkt datasets project.