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.
26 April 2025 · Championship · 2024/25 · Referee B Speedie
Half-time: 1–0
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.
Card times are not on file for this game, so they are listed without a minute.
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.
Tap a goal for the scorer and score.
Every shot and where it was taken from.
Hover or tap a shot for the player, minute and xG.
| 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′ | – | – | – | – | – | – | – |
| 90′ | – | – | – | – | – | – | – | ||
| 90′ | – | – | – | – | – | – | – | ||
| 90′ | – | – | – | – | – | – | – | ||
| 90′ | – | – | – | – | – | – | – | ||
| 90′ | – | – | 1 | 0.02 | – | – | – | ||
Gonçalo Franco
Taken off
|
67′ | – | – | – | – | – | – | – | |
Jay Fulton
Taken off
|
68′ | – | – | – | – | – | – | – | |
Ronald
Taken off
|
86′ | – | – | 1 | 0.03 | – | – | – | |
| 90′ | – | – | 1 | 0.06 | – | – | – | ||
| 90′ | – | – | 3 | 0.53 | – | – | |||
Liam Cullen
Taken off
|
67′ | – | – | – | – | – | – | – | |
Joe Allen
Came on as a substitute
|
23′ | – | – | 1 | 0.04 | – | – | – | |
Žan Vipotnik
Came on as a substitute
|
23′ | – | – | 3 | 0.15 | – | – | – | |
Oliver Cooper
Came on as a substitute
|
22′ | – | – | 2 | 0.19 | – | – | – | |
Florian Bianchini
Came on as a substitute
|
4′ | – | – | – | – | – | – | – |
Every player who took the pitch, starters first and then substitutes. A dash means none. xG and xA are expected goals and assists.
Chances implied by the average closing odds, with the bookmaker margin removed.
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.