Chicago Fire vs Charlotte FC

29 June 2025 · MLS · 2025 · Referee Sergiy Boyko

Full time 3 – 2

Half-time: 3–0

  • Philip Zinckernagel 23’
  • Brian Gutiérrez 25’
  • Hugo Cuypers 33’
  • Pep Biel 56’
  • Idan Toklomati 59’

Match summary

Chicago Fire beat Charlotte FC 3-2. Chicago Fire led 3-0 at half-time.

In the first half, Philip Zinckernagel put Chicago Fire ahead in the 23rd minute, Brian Gutiérrez made it 2-0 in the 25th minute, and Hugo Cuypers made it 3-0 in the 33rd minute. In the second half, Pep Biel pulled one back to make it 3-1 in the 56th minute and Idan Toklomati made it 3-2 in the 59th minute.

There was little between the sides on chances: Chicago Fire created 1.47 expected goals (xG) from 12 shots, Charlotte FC 1.33 from 8.

Match stats

56% Possession 44%
12 Shots 8
5 Shots on target 2
3 Corners 1
623 Passes 487
89.9% Pass accuracy 85.6%
18 Tackles 15
13 Fouls 10
5 Yellow cards 2
1 Offsides 1

Key events

Chicago Fire Charlotte FC
Kick-off
18’
Nicholas ScardinaSouleyman Doumbia
Philip ZinckernagelRight foot shot1-0 (Chicago Fire)
23’
Brian GutiérrezRight foot shot2-0 (Chicago Fire)
25’
Hugo CuypersRight foot shot3-0 (Chicago Fire)
33’
Jonathan BambaShot on target
42’
Half-time3-0
Second half underway
56’
Pep BielLeft foot shot3-1 (Charlotte FC)
59’
Idan ToklomatiLeft foot shot3-2 (Charlotte FC)
60’
Wilfried Zaha
Philip ZinckernagelShot on target
63’
77’
79’
80’
82’
88’
Omar GonzalezSamuel Rogers
89’
Tom BarlowHugo Cuypers
90+4’
Full-time3-2

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.47 1.33 23’ Philip Zinckernagel (Chicago Fire), 1-0 23’ 25’ Brian Gutiérrez (Chicago Fire), 2-0 25’ 33’ Hugo Cuypers (Chicago Fire), 3-0 33’ 56’ Pep Biel (Charlotte FC), 3-1 56’ 59’ Idan Toklomati (Charlotte FC), 3-2 59’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.47 1.33 23’ Philip Zinckernagel (Chicago Fire), 1-0 Zinckernagel 23’ 25’ Brian Gutiérrez (Chicago Fire), 2-0 Gutiérrez 25’ 33’ Hugo Cuypers (Chicago Fire), 3-0 Cuypers 33’ 56’ Pep Biel (Charlotte FC), 3-1 Biel 56’ 59’ Idan Toklomati (Charlotte FC), 3-2 Toklomati 59’
Chicago Fire 1.47 xGCharlotte FC 1.33 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Charlotte FC attacking Chicago Fire attacking 
59’ Idan Toklomati (Charlotte FC), open play, 0.60 xG, goal 33’ Hugo Cuypers (Chicago Fire), open play, 0.36 xG, goal 23’ Philip Zinckernagel (Chicago Fire), open play, 0.27 xG, goal 25’ Brian Gutiérrez (Chicago Fire), open play, 0.27 xG, goal 54’ Wilfried Zaha (Charlotte FC), open play, 0.17 xG, off target 28’ Liel Abada (Charlotte FC), open play, 0.13 xG, off target 35’ Idan Toklomati (Charlotte FC), open play, 0.12 xG, off target 90’ Andrew Gutman (Chicago Fire), open play, 0.11 xG, off target 19’ Hugo Cuypers (Chicago Fire), open play, 0.10 xG, blocked 37’ Liel Abada (Charlotte FC), open play, 0.10 xG, off target 46’ Brandt Bronico (Charlotte FC), open play, 0.10 xG, off target 13’ Brian Gutiérrez (Chicago Fire), open play, 0.08 xG, blocked 58’ Andrew Gutman (Chicago Fire), from a corner, 0.08 xG, off target 77’ Philip Zinckernagel (Chicago Fire), open play, 0.07 xG, blocked 28’ Idan Toklomati (Charlotte FC), open play, 0.07 xG, blocked 5’ Hugo Cuypers (Chicago Fire), open play, 0.06 xG, blocked 56’ Pep Biel (Charlotte FC), open play, 0.05 xG, goal 42’ Jonathan Bamba (Chicago Fire), open play, 0.03 xG, saved 90+4’ Brian Gutiérrez (Chicago Fire), open play, 0.03 xG, blocked 63’ Philip Zinckernagel (Chicago Fire), open play, 0.02 xG, saved 59’ Idan Toklomati (Charlotte FC), open play, 0.60 xG, goal 33’ Hugo Cuypers (Chicago Fire), open play, 0.36 xG, goal 23’ Philip Zinckernagel (Chicago Fire), open play, 0.27 xG, goal 25’ Brian Gutiérrez (Chicago Fire), open play, 0.27 xG, goal 54’ Wilfried Zaha (Charlotte FC), open play, 0.17 xG, off target 28’ Liel Abada (Charlotte FC), open play, 0.13 xG, off target 35’ Idan Toklomati (Charlotte FC), open play, 0.12 xG, off target 90’ Andrew Gutman (Chicago Fire), open play, 0.11 xG, off target 19’ Hugo Cuypers (Chicago Fire), open play, 0.10 xG, blocked 37’ Liel Abada (Charlotte FC), open play, 0.10 xG, off target 46’ Brandt Bronico (Charlotte FC), open play, 0.10 xG, off target 13’ Brian Gutiérrez (Chicago Fire), open play, 0.08 xG, blocked 58’ Andrew Gutman (Chicago Fire), from a corner, 0.08 xG, off target 77’ Philip Zinckernagel (Chicago Fire), open play, 0.07 xG, blocked 28’ Idan Toklomati (Charlotte FC), open play, 0.07 xG, blocked 5’ Hugo Cuypers (Chicago Fire), open play, 0.06 xG, blocked 56’ Pep Biel (Charlotte FC), open play, 0.05 xG, goal 42’ Jonathan Bamba (Chicago Fire), open play, 0.03 xG, saved 90+4’ Brian Gutiérrez (Chicago Fire), open play, 0.03 xG, blocked 63’ Philip Zinckernagel (Chicago Fire), open play, 0.02 xG, saved
Size shows xG Goal On target Off target or blocked

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

Lineups

Chicago Fire 4-2-3-1 Starting XI
Gal
Gutman
Rogers 89’
Elliott
Dean
Oregel 89’
Pineda 46’
Bamba 46’
Gutiérrez
Zinckernagel
Cuypers 90’
Charlotte FC 4-2-3-1 Starting XI
Kahlina
Malanda
Privett
Doumbia 18’
Marshall-Rutty
Westwood
Bronico 87’
Zaha
Biel
Abada 46’
Toklomati 89’

Player stats

Goalkeeper1 player
90′ 0 2 30 – – – – –
Defenders5 players
90′ 5 3 – 8 2 46 3 – 1 –
Samuel Rogers Taken off
89′ 2 – – 5 3 92 1 – – –
90′ – – – – – 110 – – – –
90′ 1 – – 8 5 58 2 – – –
Omar Gonzalez Came on as a substitute
1′ – – – 1 1 1 – – – –
Midfielders8 players
Sergio Oregel Taken off
89′ – – 81 – 0.03 2 1 2 3 – –
Mauricio Pineda Taken off
45′ – – 30 – 0.00 2 – 2 – – –
90′ 1 1 32 4 0.26 1 – 3 1 – –
Brian Gutiérrez
90′ 1 – 51 4 0.07 – 2 5 – 3 –
Jonathan Bamba Taken off
45′ – – 38 – 0.03 1 2 2 – – –
Dje Tah D'Avilla Came on as a substitute
45′ – – 29 – 0.00 – 2 1 1 1 –
Maren Haile-Selassie Came on as a substitute
45′ – – 14 – 0.01 2 – 4 1 2 –
Kellyn Acosta Came on as a substitute
1′ – – 2 – 0.00 – – – – – –
Forwards1 player
Hugo Cuypers Taken off
89′ 1 – 3 1 0.52 0.02 1 3 1 9 –
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. Referee data before 2025/26 from the Transfermarkt datasets project.