Portsmouth vs Cardiff

5 September 2026 · Championship · 2026/27 · Referee Benjamin Speedie

Full time 2 – 0

Half-time: 1–0

  • Conor Shaughnessy 31’
  • Marko Milovanović 52’

Match summary

Portsmouth saw off Cardiff 2-0. Portsmouth led 1-0 at half-time.

Conor Shaughnessy put Portsmouth ahead with a header in the 31st minute and Marko Milovanović made it 2-0 in the 52nd minute.

The chances backed that up: Portsmouth created 1.89 expected goals (xG) from 15 shots to Cardiff's 1.21 from 17.

Match stats

36% Possession 64%
15 Shots 16
5 Shots on target 5
5 Corners 7
74 Attacks 81
39 Dangerous attacks 50
252 Passes 475
63.5% Pass accuracy 81.9%
15 Tackles 10
15 Fouls 12
0 Yellow cards 4
5 Offsides 2

Key events

Portsmouth Cardiff
Kick-off
7’
Alex RobertsonShot on target
9’
15’
Corner
Tyrese ShadeShot on target
17’
Corner
17’
Abu KamaraShot on target
20’
20’
Jack MoylanShot on target
Conor ShaughnessyHeader1-0 (Portsmouth)
31’
Half-time1-0
Corner
46’
Second half underway
49’
Corner
Marko MilovanovićLeft foot shot2-0 (Portsmouth)
52’
56’
Corner
57’
Ollie TannerShot on target
58’
Yousef SalechShot on target
60’
67’
Corner
75’
Corner
Ryan Kavuma-McQueenShot on target
77’
Corner
77’
Corner
80’
Corner
81’
86’
87’
Corner
90’
Cian AshfordShot on target
90’
Corner
90+2’
Yousef SalechArgument
Full-time2-0

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 1.89 1.21 31’ Conor Shaughnessy (Portsmouth), 1-0 31’ 52’ Marko Milovanović (Portsmouth), 2-0 52’ 0.0 0.5 1.0 1.5 2.0 2.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.89 1.21 31’ Conor Shaughnessy (Portsmouth), 1-0 Shaughnessy 31’ 52’ Marko Milovanović (Portsmouth), 2-0 Milovanović 52’
Portsmouth 1.89 xGCardiff 1.21 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Cardiff attacking Portsmouth attacking 
52’ Marko Milovanović (Portsmouth), open play, 0.74 xG, goal 24’ Terry Devlin (Portsmouth), set piece, 0.37 xG, off target 21’ Marko Milovanović (Portsmouth), open play, 0.23 xG, off target 67’ Joel Colwill (Cardiff), open play, 0.19 xG, off target 57’ Chris Willock (Cardiff), open play, 0.17 xG, off target 58’ Yousef Salech (Cardiff), open play, 0.17 xG, saved 49’ David Turnbull (Cardiff), from a corner, 0.11 xG, off target 51’ Ollie Tanner (Cardiff), open play, 0.11 xG, off target 38’ Marko Milovanović (Portsmouth), open play, 0.08 xG, off target 20’ Marko Milovanović (Portsmouth), open play, 0.08 xG, blocked 57’ Ollie Tanner (Cardiff), open play, 0.07 xG, saved 82’ Benjamin Arthur (Portsmouth), from a corner, 0.08 xG, blocked 20’ Jack Moylan (Cardiff), open play, 0.06 xG, saved 68’ Adrian Segečić (Portsmouth), open play, 0.06 xG, off target 15’ Chris Willock (Cardiff), open play, 0.05 xG, blocked 14’ Tyrese Shade (Portsmouth), open play, 0.05 xG, blocked 20’ Abu Kamara (Portsmouth), open play, 0.04 xG, saved 31’ Conor Shaughnessy (Portsmouth), set piece, 0.04 xG, goal 67’ Jack Moylan (Cardiff), open play, 0.04 xG, blocked 7’ Alex Robertson (Cardiff), open play, 0.04 xG, saved 80’ Abu Kamara (Portsmouth), from a corner, 0.04 xG, off target 90+8’ Jack Moylan (Cardiff), open play, 0.04 xG, off target 82’ Abu Kamara (Portsmouth), open play, 0.03 xG, hit the woodwork 90+11’ Rubin Colwill (Cardiff), direct free kick, 0.03 xG, off target 3’ Krystian Bielik (Cardiff), set piece, 0.03 xG, off target 58’ Joel Bagan (Cardiff), open play, 0.03 xG, off target 71’ Joel Colwill (Cardiff), open play, 0.02 xG, blocked 77’ Ryan Kavuma-McQueen (Portsmouth), open play, 0.03 xG, saved 90’ Jack Moylan (Cardiff), open play, 0.02 xG, blocked 17’ Tyrese Shade (Portsmouth), open play, 0.02 xG, saved 90’ Cian Ashford (Cardiff), open play, 0.01 xG, saved 77’ Ebou Adams (Portsmouth), from a corner, 0.01 xG, off target 52’ Marko Milovanović (Portsmouth), open play, 0.74 xG, goal 24’ Terry Devlin (Portsmouth), set piece, 0.37 xG, off target 21’ Marko Milovanović (Portsmouth), open play, 0.23 xG, off target 67’ Joel Colwill (Cardiff), open play, 0.19 xG, off target 57’ Chris Willock (Cardiff), open play, 0.17 xG, off target 58’ Yousef Salech (Cardiff), open play, 0.17 xG, saved 49’ David Turnbull (Cardiff), from a corner, 0.11 xG, off target 51’ Ollie Tanner (Cardiff), open play, 0.11 xG, off target 38’ Marko Milovanović (Portsmouth), open play, 0.08 xG, off target 82’ Benjamin Arthur (Portsmouth), from a corner, 0.08 xG, blocked 20’ Marko Milovanović (Portsmouth), open play, 0.08 xG, blocked 57’ Ollie Tanner (Cardiff), open play, 0.07 xG, saved 20’ Jack Moylan (Cardiff), open play, 0.06 xG, saved 68’ Adrian Segečić (Portsmouth), open play, 0.06 xG, off target 15’ Chris Willock (Cardiff), open play, 0.05 xG, blocked 14’ Tyrese Shade (Portsmouth), open play, 0.05 xG, blocked 20’ Abu Kamara (Portsmouth), open play, 0.04 xG, saved 67’ Jack Moylan (Cardiff), open play, 0.04 xG, blocked 7’ Alex Robertson (Cardiff), open play, 0.04 xG, saved 31’ Conor Shaughnessy (Portsmouth), set piece, 0.04 xG, goal 90+8’ Jack Moylan (Cardiff), open play, 0.04 xG, off target 80’ Abu Kamara (Portsmouth), from a corner, 0.04 xG, off target 82’ Abu Kamara (Portsmouth), open play, 0.03 xG, hit the woodwork 90+11’ Rubin Colwill (Cardiff), direct free kick, 0.03 xG, off target 3’ Krystian Bielik (Cardiff), set piece, 0.03 xG, off target 58’ Joel Bagan (Cardiff), open play, 0.03 xG, off target 77’ Ryan Kavuma-McQueen (Portsmouth), open play, 0.03 xG, saved 71’ Joel Colwill (Cardiff), open play, 0.02 xG, blocked 90’ Jack Moylan (Cardiff), open play, 0.02 xG, blocked 17’ Tyrese Shade (Portsmouth), open play, 0.02 xG, saved 90’ Cian Ashford (Cardiff), open play, 0.01 xG, saved 77’ Ebou Adams (Portsmouth), from a corner, 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.

Lineups

Portsmouth 4-2-3-1 Starting XI
Bielica
Arthur
Shaughnessy
Meghoma 65’
Devlin
Pack 90’
Shein 65’
Kamara
Segečić
Shade 69’
Milovanović 69’
Cardiff 4-2-3-1 Starting XI
Trott
Bagan
Bielik 90’
Osho
Ng
Robertson
Turnbull 63’
Willock 64’
Moylan
Tanner 83’
Salech

Player stats

Goalkeeper1 player
90′ 5 0 27 – – – – –
Defenders5 players
90′ 4 2 – 6 – 24 – – – –
90′ 1 2 2 2 1 20 – – – –
90′ 2 – – 5 3 19 – 1 – –
Jayden Meghoma Taken off
65′ 2 – – 3 – 17 – – – –
Zak Swanson Came on as a substitute
25′ – – – – – 9 – – – –
Midfielders5 players
Marlon Pack Taken off
94′ – – 23 1 – – – 2 4 – –
Rocco Robert Shein Taken off
65′ – – 32 – – 3 1 3 1 – –
90′ – – 23 2 – – – 4 1 1 –
90′ – 1 15 3 – – – – 4 – –
Ebou Adams Came on as a substitute
25′ – – 7 2 – 1 2 2 1 1 –
Forwards4 players
Tyrese Shade Taken off
69′ – 1 2 1 0.06 – 2 2 1 18 –
Marko Milovanović Taken off
69′ 1 – 4 1 1.13 – – 5 3 8 –
Ryan Kavuma-McQueen Came on as a substitute
21′ – – 1 1 0.03 – – 3 2 2 –
Colby Bishop Came on as a substitute
21′ – – – – – – – 3 1 6 –
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

Portsmouth win 39% Avg odds 2.41
Draw 27% Avg odds 3.53
Cardiff win 34% Avg odds 2.75

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.