Match summary
Millwall beat Middlesbrough 1-0. It was goalless at half-time.
Camiel Neghli put Millwall ahead in the 65th minute.
The chances backed that up: Millwall created 1.63 expected goals (xG) from 13 shots to Middlesbrough's 0.60 from 11.
12 April 2025 · Championship · 2024/25 · Referee T Nield
Half-time: 0–0
Millwall beat Middlesbrough 1-0. It was goalless at half-time.
Camiel Neghli put Millwall ahead in the 65th minute.
The chances backed that up: Millwall created 1.63 expected goals (xG) from 13 shots to Middlesbrough's 0.60 from 11.
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′ | – | – | 2 | 0.10 | – | – | – | ||
| 90′ | – | – | 1 | 0.33 | – | – | – | ||
| 90′ | – | – | 2 | 0.29 | – | – | – | ||
Joe Bryan
|
90′ | – | – | – | – | – | – | – | |
George Honeyman
Taken off
|
58′ | – | – | 1 | 0.09 | – | – | – | |
Casper De Norre
Taken off
|
58′ | – | – | – | – | – | – | – | |
Billy Mitchell
|
90′ | – | – | – | – | – | – | – | |
Aidomo Emakhu
Taken off
|
58′ | – | – | 1 | 0.09 | – | – | – | |
| 90′ | – | – | 2 | 0.10 | – | – | – | ||
Luke Cundle
Taken off
|
46′ | – | – | – | – | – | – | – | |
Macaulay Langstaff
Came on as a substitute
|
44′ | – | – | 1 | 0.28 | – | – | – | |
Camiel Neghli
Came on as a substituteTaken off
|
32′ | 1 | – | 1 | 0.31 | – | – | – | |
Femi Azeez
Came on as a substitute
|
32′ | – | – | 2 | 0.03 | – | – | ||
George Saville
Came on as a substitute
|
32′ | – | – | – | – | – | – | – | |
Wes Harding
Came on as a substitute
|
11′ | – | – | – | – | – | – | – |
| 90′ | – | – | – | – | – | – | – | ||
Anfernee Jamal Dijksteel
Taken off
|
84′ | – | – | – | – | – | – | – | |
Jonathan Howson
|
90′ | – | – | 1 | 0.02 | – | – | – | |
| 90′ | – | – | – | – | – | – | – | ||
| 90′ | – | – | – | – | – | – | – | ||
| 90′ | – | – | – | – | – | – | – | ||
| 90′ | – | – | 3 | 0.13 | – | – | – | ||
Morgan Whittaker
Taken off
|
66′ | – | – | 1 | 0.18 | – | – | – | |
Delano Burgzorg
Taken off
|
66′ | – | – | 1 | 0.02 | – | – | – | |
| 90′ | – | – | 3 | 0.06 | – | – | – | ||
| 90′ | – | – | – | – | – | – | – | ||
Marcus Forss
Came on as a substitute
|
24′ | – | – | 2 | 0.19 | – | – | – | |
Riley McGree
Came on as a substitute
|
24′ | – | – | – | – | – | – | – | |
Kelechi Iheanacho
Came on as a substitute
|
6′ | – | – | – | – | – | – | – |
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.