Birmingham vs Swansea

7 November 2026 · Championship · 2026/27 · Referee Anthony Backhouse

Full time 2 – 1
  • Jay Stansfield 29’, 87’
  • Christoph Klarer 65’ (og)

Match summary

Birmingham beat Swansea 2-1, with a late winner.

Jay Stansfield put Birmingham ahead in the 29th minute, Klarer's own goal equalised from a corner in the 65th minute, and Stansfield won it from a corner in the 87th minute.

The chances backed that up: Birmingham created 3.18 expected goals (xG) from 21 shots to Swansea's 1.05 from 8. Ross Stewart had a penalty saved for Swansea.

Birmingham secured a 2-1 victory over Swansea in the Championship after dominating proceedings on home soil. The hosts controlled 59 percent of possession and registered 20 shots compared to the visitors' 8, with 8 shots on target against 3. Birmingham also led the count in corners at 8 to 5 and completed 475 passes with a 78.9 percent accuracy, leaving their expected goals at 3.29 versus Swansea's 1.04 from 100 attacks and 56 dangerous attacks. Both sides committed a low number of fouls, with 8 recorded by Birmingham and 9 by Swansea, alongside 2 yellow cards for each team.

The match featured a dramatic sequence of events starting in the 12th minute when Ross Stewart missed a penalty for Swansea. C. Davies received a yellow card for Birmingham in the 24th minute before Marko Stamenić was shown a red card for violent conduct in the 26th minute. Jay Stansfield opened the scoring for Birmingham with a right foot shot in the 29th minute. Christoph Klarer scored an own goal for Birmingham in the 65th minute to level the score, but Jay Stansfield secured the win with his second right foot shot in the 87th minute.

Match stats

59% Possession 41%
21 Shots 8
8 Shots on target 3
8 Corners 5
100 Attacks 72
56 Dangerous attacks 29
475 Passes 338
79.2% Pass accuracy 66.9%
12 Tackles 17
8 Fouls 9
2 Yellow cards 2
0 Red cards 1
1 Offsides 3

Key events

Birmingham Swansea
Kick-off
12’
Ross StewartMissed penaltysaved
12’
Ross StewartShot on target
C. DaviesManagerArgument
24’
26’
Marko StamenićViolent conduct
Jay StansfieldRight foot shot1-0 (Birmingham)
29’
Max BirdShot on target
37’
Liam MillarShot on target
37’
39’
Filip LissahShot on target
42’
Half-time1-0
Liam MillarShot on target
47’
49’
Max BirdShot on target
49’
Second half underway
Jhon SolísShot on target
51’
Jay StansfieldShot on target
52’
Jay StansfieldArgument
54’
Ethan LairdSimulation
55’
65’
Christoph KlarerOwn goal1-1 (Swansea)
Jay StansfieldRight foot shot2-1 (Birmingham)
87’
90+3’
Joseph OpokuShot on target
Full-time2-1

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 1 2 3 4 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.18 1.05 29’ Jay Stansfield (Birmingham), 1-0 29’ 65’ Christoph Klarer (Swansea) own goal, 1-1 65’ 87’ Jay Stansfield (Birmingham), 2-1 87’ 0 1 2 3 4 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.18 1.05 29’ Jay Stansfield (Birmingham), 1-0 Stansfield 29’ 65’ Christoph Klarer (Swansea) own goal, 1-1 Klarer 65’ 87’ Jay Stansfield (Birmingham), 2-1 Stansfield 87’
Birmingham 3.18 xGSwansea 1.05 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Swansea attacking Birmingham attacking 
12’ Ross Stewart (Swansea), penalty, 0.79 xG, saved 87’ Phil Neumann (Birmingham), from a corner, 0.60 xG, hit the woodwork 37’ Liam Millar (Birmingham), open play, 0.50 xG, saved 51’ Jhon Solís (Birmingham), from a corner, 0.42 xG, saved 37’ Max Bird (Birmingham), open play, 0.26 xG, saved 49’ Max Bird (Birmingham), open play, 0.21 xG, saved 49’ Jay Stansfield (Birmingham), open play, 0.19 xG, hit the woodwork 87’ Jay Stansfield (Birmingham), from a corner, 0.17 xG, goal 29’ Jay Stansfield (Birmingham), open play, 0.15 xG, goal 50’ Phil Neumann (Birmingham), from a corner, 0.14 xG, blocked 81’ Jay Stansfield (Birmingham), open play, 0.09 xG, blocked 90+3’ Joseph Opoku (Swansea), open play, 0.09 xG, saved 47’ Ethan Laird (Birmingham), open play, 0.07 xG, blocked 44’ Alex Cochrane (Birmingham), open play, 0.06 xG, off target 47’ Liam Millar (Birmingham), open play, 0.06 xG, saved 90+9’ Jay Stansfield (Birmingham), open play, 0.06 xG, off target 54’ Jenson Seelt (Swansea), set piece, 0.05 xG, off target 72’ Marvin Ducksch (Birmingham), open play, 0.05 xG, off target 63’ Carlos Vicente (Birmingham), from a corner, 0.04 xG, off target 84’ Jay Stansfield (Birmingham), open play, 0.04 xG, blocked 22’ Gonçalo Franco (Swansea), open play, 0.03 xG, hit the woodwork 34’ Liam Millar (Birmingham), open play, 0.03 xG, off target 10’ Ji-sung Eom (Swansea), open play, 0.03 xG, blocked 90+6’ Jenson Seelt (Swansea), open play, 0.03 xG, blocked 25’ Ethan Laird (Birmingham), set piece, 0.02 xG, off target 35’ Liam Millar (Birmingham), from a corner, 0.02 xG, off target 13’ Moussa Kounfolo Yeo (Swansea), from a corner, 0.02 xG, off target 39’ Filip Lissah (Swansea), set piece, 0.01 xG, saved 52’ Jay Stansfield (Birmingham), open play, 0.01 xG, saved 65’ Christoph Klarer (Birmingham), own goal 12’ Ross Stewart (Swansea), penalty, 0.79 xG, saved 87’ Phil Neumann (Birmingham), from a corner, 0.60 xG, hit the woodwork 37’ Liam Millar (Birmingham), open play, 0.50 xG, saved 51’ Jhon Solís (Birmingham), from a corner, 0.42 xG, saved 37’ Max Bird (Birmingham), open play, 0.26 xG, saved 49’ Max Bird (Birmingham), open play, 0.21 xG, saved 49’ Jay Stansfield (Birmingham), open play, 0.19 xG, hit the woodwork 87’ Jay Stansfield (Birmingham), from a corner, 0.17 xG, goal 29’ Jay Stansfield (Birmingham), open play, 0.15 xG, goal 50’ Phil Neumann (Birmingham), from a corner, 0.14 xG, blocked 81’ Jay Stansfield (Birmingham), open play, 0.09 xG, blocked 90+3’ Joseph Opoku (Swansea), open play, 0.09 xG, saved 47’ Ethan Laird (Birmingham), open play, 0.07 xG, blocked 44’ Alex Cochrane (Birmingham), open play, 0.06 xG, off target 47’ Liam Millar (Birmingham), open play, 0.06 xG, saved 90+9’ Jay Stansfield (Birmingham), open play, 0.06 xG, off target 54’ Jenson Seelt (Swansea), set piece, 0.05 xG, off target 72’ Marvin Ducksch (Birmingham), open play, 0.05 xG, off target 63’ Carlos Vicente (Birmingham), from a corner, 0.04 xG, off target 84’ Jay Stansfield (Birmingham), open play, 0.04 xG, blocked 22’ Gonçalo Franco (Swansea), open play, 0.03 xG, hit the woodwork 34’ Liam Millar (Birmingham), open play, 0.03 xG, off target 10’ Ji-sung Eom (Swansea), open play, 0.03 xG, blocked 90+6’ Jenson Seelt (Swansea), open play, 0.03 xG, blocked 25’ Ethan Laird (Birmingham), set piece, 0.02 xG, off target 35’ Liam Millar (Birmingham), from a corner, 0.02 xG, off target 13’ Moussa Kounfolo Yeo (Swansea), from a corner, 0.02 xG, off target 39’ Filip Lissah (Swansea), set piece, 0.01 xG, saved 52’ Jay Stansfield (Birmingham), open play, 0.01 xG, saved 65’ Christoph Klarer (Birmingham), own goal
Size shows xG Goal On target Off target or blocked

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

Lineups

Birmingham 4-2-3-1 Starting XI
Allsop
Laird 80’
Neumann
Klarer
Cochrane
Iwata
Solís 70’
Millar 58’
Roberts 58’
Bird 70’
Stansfield 2
Swansea 4-3-3 Starting XI
Vigouroux
Lissah
Cabango
Seelt
Tymon
Franco 86’
Fulton 81’
Stamenić
Eom 46’
Yeo 59’
Stewart 59’

Player stats

Goalkeeper1 player
90′ 3 1 22 1 – – – –
Defenders4 players
Ethan Laird Taken off
80′ – 2 – 6 4 32 2 – –
90′ 2 1 1 8 5 61 1 – – –
90′ – 2 – 12 12 80 1 – – –
90′ 2 – 1 3 – 55 1 – – –
Midfielders8 players
90′ – – 54 1 – 1 1 3 – – –
Jhon Solís Taken off
70′ – – 45 – – 1 – 6 – 2 –
Patrick Roberts Taken off
58′ – – 23 1 – 2 1 3 – – –
Max Bird Taken off
70′ – 1 23 1 – – – 4 – 1 –
Liam Millar Taken off
58′ – – 25 1 – 3 1 9 – 1 –
Carlos Vicente Came on as a substitute
32′ – – 11 1 – – – 2 1 2 –
Demarai Gray Came on as a substitute
32′ – – 10 2 – 1 – 2 – – –
Seung Ho Paik Came on as a substitute
20′ – – 6 – – – – – – – –
Forwards3 players
90′ 2 – 6 3 0.71 – 2 1 – 17
Marvin Ducksch Came on as a substitute
20′ – – 1 – 0.05 – – 1 – 6 –
Luis Vázquez Came on as a substitute
10′ – – – – – – – 1 – 5 –
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.

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.