Millwall vs Middlesbrough

12 April 2025 · Championship · 2024/25 · Referee T Nield

Full time 1 – 0

Half-time: 0–0

  • Camiel Neghli 65’

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.

Match stats

Millwall Middlesbrough
13 Shots 11
4 Shots on Target 4
2 Corners 4
1 Yellow Cards 0
0 Red Cards 0
1.63 xG 0.69
1.63 Non-penalty xG 0.69

Key events

Millwall Middlesbrough
Kick-off
Half-time0-0
Camiel Neghli1-0 (Millwall)
65’
Full-time1-0

Bookings

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

Millwall
  • Femi Azeez

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.63 0.60 65’ Camiel Neghli (Millwall), 1-0 65’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.63 0.60 65’ Camiel Neghli (Millwall), 1-0 Neghli 65’
Millwall 1.63 xGMiddlesbrough 0.60 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Middlesbrough attacking Millwall attacking 
1’ Tristan Crama (Millwall), set piece, 0.33 xG, off target 65’ Camiel Neghli (Millwall), open play, 0.31 xG, goal 54’ Macaulay Langstaff (Millwall), set piece, 0.28 xG, saved 17’ Jake Cooper (Millwall), set piece, 0.21 xG, off target 42’ Morgan Whittaker (Middlesbrough), open play, 0.18 xG, saved 90+2’ Marcus Forss (Middlesbrough), open play, 0.11 xG, saved 45’ Mihailo Ivanović (Millwall), open play, 0.09 xG, off target 48’ Aidomo Emakhu (Millwall), open play, 0.09 xG, blocked 49’ George Honeyman (Millwall), set piece, 0.09 xG, saved 70’ Jake Cooper (Millwall), from a corner, 0.08 xG, off target 87’ Marcus Forss (Middlesbrough), open play, 0.08 xG, off target 61’ Hayden Hackney (Middlesbrough), open play, 0.07 xG, off target 85’ Ryan Leonard (Millwall), open play, 0.05 xG, blocked 21’ Hayden Hackney (Middlesbrough), open play, 0.05 xG, off target 72’ Ryan Leonard (Millwall), from a corner, 0.05 xG, off target 83’ Finn Azaz (Middlesbrough), open play, 0.03 xG, off target 33’ Delano Burgzorg (Middlesbrough), open play, 0.02 xG, blocked 74’ Finn Azaz (Middlesbrough), open play, 0.02 xG, blocked 69’ Femi Azeez (Millwall), open play, 0.01 xG, blocked 75’ Jonathan Howson (Middlesbrough), open play, 0.02 xG, saved 82’ Hayden Hackney (Middlesbrough), open play, 0.02 xG, saved 64’ Femi Azeez (Millwall), open play, 0.01 xG, off target 77’ Mihailo Ivanović (Millwall), open play, 0.01 xG, saved 55’ Finn Azaz (Middlesbrough), set piece, 0.01 xG, blocked 1’ Tristan Crama (Millwall), set piece, 0.33 xG, off target 65’ Camiel Neghli (Millwall), open play, 0.31 xG, goal 54’ Macaulay Langstaff (Millwall), set piece, 0.28 xG, saved 17’ Jake Cooper (Millwall), set piece, 0.21 xG, off target 42’ Morgan Whittaker (Middlesbrough), open play, 0.18 xG, saved 90+2’ Marcus Forss (Middlesbrough), open play, 0.11 xG, saved 48’ Aidomo Emakhu (Millwall), open play, 0.09 xG, blocked 49’ George Honeyman (Millwall), set piece, 0.09 xG, saved 45’ Mihailo Ivanović (Millwall), open play, 0.09 xG, off target 70’ Jake Cooper (Millwall), from a corner, 0.08 xG, off target 87’ Marcus Forss (Middlesbrough), open play, 0.08 xG, off target 61’ Hayden Hackney (Middlesbrough), open play, 0.07 xG, off target 85’ Ryan Leonard (Millwall), open play, 0.05 xG, blocked 21’ Hayden Hackney (Middlesbrough), open play, 0.05 xG, off target 72’ Ryan Leonard (Millwall), from a corner, 0.05 xG, off target 83’ Finn Azaz (Middlesbrough), open play, 0.03 xG, off target 33’ Delano Burgzorg (Middlesbrough), open play, 0.02 xG, blocked 74’ Finn Azaz (Middlesbrough), open play, 0.02 xG, blocked 75’ Jonathan Howson (Middlesbrough), open play, 0.02 xG, saved 82’ Hayden Hackney (Middlesbrough), open play, 0.02 xG, saved 69’ Femi Azeez (Millwall), open play, 0.01 xG, blocked 77’ Mihailo Ivanović (Millwall), open play, 0.01 xG, saved 64’ Femi Azeez (Millwall), open play, 0.01 xG, off target 55’ Finn Azaz (Middlesbrough), set piece, 0.01 xG, blocked
Size shows xG Goal On target Off target or blocked

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

Player stats

Players16 players
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′ – – – – – – –
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 31% Avg odds 3.11
Draw 29% Avg odds 3.24
Middlesbrough win 40% Avg odds 2.35

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.