Portland Timbers vs Charlotte FC

25 October 2026 · MLS · 2026 · Referee Rosendo Mendoza

Full time 3 – 2

Half-time: 2–1

  • Ariel Lassiter 11’, 40’
  • Alexander Aravena 90+6’
  • Pep Biel 3’
  • Idan Toklomati 69’

Match summary

Portland Timbers came from behind to win 3-2 at home to Charlotte FC, with the winner arriving in stoppage time. Portland Timbers led 2-1 at half-time.

In the first half, Pep Biel put Charlotte FC ahead in the 3rd minute, Ariel Lassiter equalised in the 11th minute, and Lassiter put Portland Timbers in front in the 40th minute. In the second half, Idan Toklomati equalised in the 69th minute and Alexander Aravena won it with a header in stoppage time.

The chances backed that up: Portland Timbers created 3.87 expected goals (xG) from 27 shots to Charlotte FC's 0.88 from 6.

Match stats

56% Possession 44%
27 Shots 6
13 Shots on target 3
9 Corners 3
104 Attacks 90
67 Dangerous attacks 38
570 Passes 458
92.6% Pass accuracy 86.0%
16 Tackles 13
10 Fouls 9
1 Yellow cards 1
3 Offsides 2

Key events

Portland Timbers Charlotte FC
Kick-off
3’
Pep BielLeft foot shot0-1 (Charlotte FC)
Ariel LassiterLeft foot shot1-1 (Portland Timbers)
11’
Vincent JanssenShot on target
14’
17’
Kristoffer VeldeShot on target
26’
Ariel LassiterShot on target
33’
Ariel LassiterLeft foot shot2-1 (Portland Timbers)
40’
45’
Half-time2-1
Eric IzoitaShot on target
47’
Eric IzoitaShot on target
48’
Second half underway
51’
Idan ToklomatiShot on target
Ariel LassiterShot on target
55’
69’
Idan ToklomatiRight foot shot2-2 (Charlotte FC)
Cole BassettShot on target
78’
David Pereira Da CostaShot on target
87’
Ronald HernándezShot on target
87’
Cole Bassett3-2 (Portland Timbers)
90+6’
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 1 2 3 4 5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.87 0.88 3’ Pep Biel (Charlotte FC), 0-1 3’ 11’ Ariel Lassiter (Portland Timbers), 1-1 11’ 40’ Ariel Lassiter (Portland Timbers), 2-1 40’ 69’ Idan Toklomati (Charlotte FC), 2-2 69’ 90+6’ Alexander Aravena (Portland Timbers), 3-2 90+6’ 0 1 2 3 4 5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 3.87 0.88 3’ Pep Biel (Charlotte FC), 0-1 Biel 3’ 11’ Ariel Lassiter (Portland Timbers), 1-1 Lassiter 11’ 40’ Ariel Lassiter (Portland Timbers), 2-1 Lassiter 40’ 69’ Idan Toklomati (Charlotte FC), 2-2 Toklomati 69’ 90+6’ Alexander Aravena (Portland Timbers), 3-2 Aravena 90+6’
Portland Timbers 3.87 xGCharlotte FC 0.88 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Charlotte FC attacking Portland Timbers attacking 
90+6’ Alexander Aravena (Portland Timbers), from a corner, 0.96 xG, goal 87’ David Pereira Da Costa (Portland Timbers), open play, 0.68 xG, saved 69’ Idan Toklomati (Charlotte FC), open play, 0.58 xG, goal 11’ Ariel Lassiter (Portland Timbers), open play, 0.54 xG, goal 14’ Vincent Janssen (Portland Timbers), open play, 0.36 xG, saved 87’ Ronald Hernández (Portland Timbers), open play, 0.17 xG, saved 86’ Tyger Smalls (Charlotte FC), open play, 0.12 xG, off target 48’ Eric Izoita (Portland Timbers), open play, 0.11 xG, saved 76’ Cole Bassett (Portland Timbers), open play, 0.11 xG, blocked 77’ Cole Bassett (Portland Timbers), open play, 0.11 xG, off target 90+5’ Ronald Hernández (Portland Timbers), open play, 0.11 xG, blocked 14’ Eric Izoita (Portland Timbers), open play, 0.06 xG, blocked 90+6’ Cole Bassett (Portland Timbers), from a corner, 0.06 xG, blocked 52’ David Pereira Da Costa (Portland Timbers), open play, 0.06 xG, blocked 78’ Cole Bassett (Portland Timbers), open play, 0.06 xG, saved 9’ Rodolfo Aloko (Charlotte FC), open play, 0.05 xG, blocked 46’ Kristoffer Velde (Portland Timbers), open play, 0.05 xG, off target 63’ Luca De La Torre (Charlotte FC), open play, 0.06 xG, off target 33’ Ariel Lassiter (Portland Timbers), open play, 0.04 xG, saved 40’ Ariel Lassiter (Portland Timbers), open play, 0.04 xG, goal 16’ Kristoffer Velde (Portland Timbers), open play, 0.04 xG, blocked 47’ Eric Izoita (Portland Timbers), open play, 0.04 xG, saved 90+4’ Ian Smith (Portland Timbers), open play, 0.04 xG, blocked 3’ Pep Biel (Charlotte FC), open play, 0.03 xG, goal 26’ Kristoffer Velde (Portland Timbers), open play, 0.04 xG, saved 51’ Idan Toklomati (Charlotte FC), open play, 0.03 xG, saved 90+3’ Cole Bassett (Portland Timbers), open play, 0.03 xG, blocked 74’ José Caicedo (Portland Timbers), open play, 0.03 xG, off target 54’ José Caicedo (Portland Timbers), open play, 0.02 xG, blocked 55’ Ariel Lassiter (Portland Timbers), from a corner, 0.03 xG, saved 26’ José Caicedo (Portland Timbers), open play, 0.02 xG, off target 50’ Kristoffer Velde (Portland Timbers), open play, 0.02 xG, blocked 67’ Cole Bassett (Portland Timbers), from a corner, 0.02 xG, off target 90+6’ Alexander Aravena (Portland Timbers), from a corner, 0.96 xG, goal 87’ David Pereira Da Costa (Portland Timbers), open play, 0.68 xG, saved 69’ Idan Toklomati (Charlotte FC), open play, 0.58 xG, goal 11’ Ariel Lassiter (Portland Timbers), open play, 0.54 xG, goal 14’ Vincent Janssen (Portland Timbers), open play, 0.36 xG, saved 87’ Ronald Hernández (Portland Timbers), open play, 0.17 xG, saved 86’ Tyger Smalls (Charlotte FC), open play, 0.12 xG, off target 77’ Cole Bassett (Portland Timbers), open play, 0.11 xG, off target 48’ Eric Izoita (Portland Timbers), open play, 0.11 xG, saved 76’ Cole Bassett (Portland Timbers), open play, 0.11 xG, blocked 90+5’ Ronald Hernández (Portland Timbers), open play, 0.11 xG, blocked 14’ Eric Izoita (Portland Timbers), open play, 0.06 xG, blocked 90+6’ Cole Bassett (Portland Timbers), from a corner, 0.06 xG, blocked 52’ David Pereira Da Costa (Portland Timbers), open play, 0.06 xG, blocked 78’ Cole Bassett (Portland Timbers), open play, 0.06 xG, saved 63’ Luca De La Torre (Charlotte FC), open play, 0.06 xG, off target 9’ Rodolfo Aloko (Charlotte FC), open play, 0.05 xG, blocked 46’ Kristoffer Velde (Portland Timbers), open play, 0.05 xG, off target 16’ Kristoffer Velde (Portland Timbers), open play, 0.04 xG, blocked 33’ Ariel Lassiter (Portland Timbers), open play, 0.04 xG, saved 40’ Ariel Lassiter (Portland Timbers), open play, 0.04 xG, goal 47’ Eric Izoita (Portland Timbers), open play, 0.04 xG, saved 90+4’ Ian Smith (Portland Timbers), open play, 0.04 xG, blocked 26’ Kristoffer Velde (Portland Timbers), open play, 0.04 xG, saved 3’ Pep Biel (Charlotte FC), open play, 0.03 xG, goal 51’ Idan Toklomati (Charlotte FC), open play, 0.03 xG, saved 90+3’ Cole Bassett (Portland Timbers), open play, 0.03 xG, blocked 74’ José Caicedo (Portland Timbers), open play, 0.03 xG, off target 55’ Ariel Lassiter (Portland Timbers), from a corner, 0.03 xG, saved 54’ José Caicedo (Portland Timbers), open play, 0.02 xG, blocked 26’ José Caicedo (Portland Timbers), open play, 0.02 xG, off target 50’ Kristoffer Velde (Portland Timbers), open play, 0.02 xG, blocked 67’ Cole Bassett (Portland Timbers), from a corner, 0.02 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

Portland Timbers 4-3-3 Starting XI
Pantemis
Hernández
Waterman
Miller
Fory 64’
Izoita 64’
Caicedo
Costa
Lassiter 2 83’
Janssen 83’
Velde
Charlotte FC 4-2-3-1 Starting XI
Kahlina
Byrne
Agyemang
Kessler
Schnegg 71’
Westwood 85’
Diani
Aloko 71’
Biel
Abada 62’
Toklomati

Player stats

Goalkeeper1 player
90′ 1 2 36 – – – – –
Defenders5 players
90′ 1 – – 3 – 55 1 – – –
90′ 1 1 – 2 – 90 2 – – –
90′ 2 1 – 5 2 82 2 – – –
Jímer Fory Taken off
64′ 1 3 – 2 1 41 – – – –
Ian Smith Came on as a substitute
26′ – – – 1 1 17 – – 1 –
Midfielders4 players
Eric Izoita Taken off
64′ – 2 27 4 – – 1 – 2 –
90′ – – 56 – – 5 – 9 1 3 –
90′ – – 53 3 – 1 – 1 – – –
Cole Bassett Came on as a substitute
26′ 1 – 12 1 – 1 – 2 – – –
Forwards5 players
Ariel Lassiter Taken off
83′ 2 – 4 4 0.65 – 1 – – 38 –
Vincent Janssen Taken off
83′ – – 1 1 0.36 – 2 – – 11 –
90′ – – 4 1 0.15 – 3 3 2 46 –
Omir Fernandez Came on as a substitute
13′ – – – – – – – – – 4 –
Alexander Aravena Came on as a substitute
13′ – – – – 0.96 – – – – 2 –
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.