Millwall vs Swansea

26 April 2025 · Championship · 2024/25 · Referee B Speedie

Full time 1 – 0

Half-time: 1–0

  • George Saville 38’

Match summary

Millwall saw off Swansea 1-0. Millwall led 1-0 at half-time.

George Saville put Millwall ahead in the 38th minute.

The chances backed that up: Millwall created 1.70 expected goals (xG) from 16 shots to Swansea's 1.03 from 12.

Match stats

Millwall Swansea
16 Shots 12
4 Shots on Target 4
4 Corners 7
1 Yellow Cards 1
0 Red Cards 0
1.67 xG 1.03
1.67 Non-penalty xG 1.03

Key events

Millwall Swansea
Kick-off
George Saville1-0 (Millwall)
38’
Half-time1-0
Full-time1-0

Bookings

Card times are not on file for this game, so they are listed without a minute.

Millwall
  • Femi Azeez
Swansea
  • Ji-sung Eom

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 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.70 1.03 38’ George Saville (Millwall), 1-0 38’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.70 1.03 38’ George Saville (Millwall), 1-0 Saville 38’
Millwall 1.70 xGSwansea 1.03 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Swansea attacking Millwall attacking 
57’ Ji-sung Eom (Swansea), open play, 0.44 xG, saved 4’ Josh Coburn (Millwall), open play, 0.37 xG, saved 38’ George Saville (Millwall), set piece, 0.24 xG, goal 40’ Femi Azeez (Millwall), open play, 0.21 xG, off target 89’ Tristan Crama (Millwall), open play, 0.15 xG, off target 80’ Oliver Cooper (Swansea), from a corner, 0.14 xG, saved 40’ Femi Azeez (Millwall), open play, 0.13 xG, hit the woodwork 64’ Mihailo Ivanović (Millwall), open play, 0.12 xG, off target 36’ Japhet Tanganga (Millwall), from a corner, 0.10 xG, off target 90+5’ Mihailo Ivanović (Millwall), open play, 0.10 xG, blocked 78’ Žan Vipotnik (Swansea), set piece, 0.09 xG, off target 32’ George Saville (Millwall), open play, 0.07 xG, off target 38’ Femi Azeez (Millwall), set piece, 0.07 xG, blocked 72’ Lewis O'Brien (Swansea), open play, 0.06 xG, blocked 72’ Ji-sung Eom (Swansea), open play, 0.06 xG, off target 90+6’ Oliver Cooper (Swansea), open play, 0.05 xG, off target 38’ Femi Azeez (Millwall), set piece, 0.04 xG, blocked 72’ Joe Allen (Swansea), open play, 0.04 xG, blocked 73’ Žan Vipotnik (Swansea), from a corner, 0.04 xG, off target 38’ Casper De Norre (Millwall), set piece, 0.03 xG, blocked 69’ Žan Vipotnik (Swansea), open play, 0.03 xG, saved 16’ Zak Sturge (Millwall), open play, 0.03 xG, blocked 48’ Ji-sung Eom (Swansea), open play, 0.03 xG, off target 79’ Ronald (Swansea), open play, 0.03 xG, saved 20’ Josh Tymon (Swansea), open play, 0.02 xG, blocked 44’ Femi Azeez (Millwall), open play, 0.01 xG, saved 44’ Luke Cundle (Millwall), open play, 0.02 xG, blocked 26’ Jake Cooper (Millwall), from a corner, 0.01 xG, saved 57’ Ji-sung Eom (Swansea), open play, 0.44 xG, saved 4’ Josh Coburn (Millwall), open play, 0.37 xG, saved 38’ George Saville (Millwall), set piece, 0.24 xG, goal 40’ Femi Azeez (Millwall), open play, 0.21 xG, off target 89’ Tristan Crama (Millwall), open play, 0.15 xG, off target 80’ Oliver Cooper (Swansea), from a corner, 0.14 xG, saved 40’ Femi Azeez (Millwall), open play, 0.13 xG, hit the woodwork 64’ Mihailo Ivanović (Millwall), open play, 0.12 xG, off target 36’ Japhet Tanganga (Millwall), from a corner, 0.10 xG, off target 90+5’ Mihailo Ivanović (Millwall), open play, 0.10 xG, blocked 78’ Žan Vipotnik (Swansea), set piece, 0.09 xG, off target 32’ George Saville (Millwall), open play, 0.07 xG, off target 38’ Femi Azeez (Millwall), set piece, 0.07 xG, blocked 72’ Lewis O'Brien (Swansea), open play, 0.06 xG, blocked 72’ Ji-sung Eom (Swansea), open play, 0.06 xG, off target 90+6’ Oliver Cooper (Swansea), open play, 0.05 xG, off target 38’ Femi Azeez (Millwall), set piece, 0.04 xG, blocked 72’ Joe Allen (Swansea), open play, 0.04 xG, blocked 38’ Casper De Norre (Millwall), set piece, 0.03 xG, blocked 73’ Žan Vipotnik (Swansea), from a corner, 0.04 xG, off target 69’ Žan Vipotnik (Swansea), open play, 0.03 xG, saved 48’ Ji-sung Eom (Swansea), open play, 0.03 xG, off target 79’ Ronald (Swansea), open play, 0.03 xG, saved 16’ Zak Sturge (Millwall), open play, 0.03 xG, blocked 20’ Josh Tymon (Swansea), open play, 0.02 xG, blocked 44’ Luke Cundle (Millwall), open play, 0.02 xG, blocked 44’ Femi Azeez (Millwall), open play, 0.01 xG, saved 26’ Jake Cooper (Millwall), from a corner, 0.01 xG, saved
Size shows xG Goal On target Off target or blocked

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

Player stats

Players14 players
90′ – – – – – – –
90′ – – 1 0.15 – – –
90′ – – 1 0.10 – – –
90′ – – 1 0.01 – – –
90′ – – 1 0.03 – – –
Casper De Norre Taken off
87′ – – 1 0.03 – – –
George Saville
90′ 1 – 2 0.31 – – –
Luke Cundle Taken off
58′ – – 1 0.02 – – –
90′ – – 2 0.21 – – –
90′ – – 5 0.46 – –
Josh Coburn Taken off
74′ – – 1 0.37 – – –
George Honeyman Came on as a substitute
32′ – – – – – – –
Aidomo Emakhu Came on as a substitute
16′ – – – – – – –
Ryan Wintle Came on as a substitute
3′ – – – – – – –
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 41% Avg odds 2.29
Draw 30% Avg odds 3.17
Swansea win 29% Avg odds 3.31

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.