Portland Timbers vs St. Louis City

10 September 2026 · MLS · 2026 · Referee Fotis Bazakos

Full time 2 – 2

Half-time: 1–1

  • Kristoffer Velde 32’, 89’
  • Rafael Navarro 1’, 51’

Match summary

Portland Timbers and St. Louis City shared the points in a 2-2 draw. It was 1-1 at half-time.

In the first half, Rafael Navarro put St. Louis City ahead in the first minute and Kristoffer Velde equalised with a direct free kick in the 32nd minute. In the second half, Navarro put St. Louis City back in front with a header in the 51st minute and Velde equalised with a direct free kick in the 89th minute.

St. Louis City had the better of the chances, with 1.91 expected goals (xG) from 10 shots to Portland Timbers's 0.92 from 16.

Match stats

52% Possession 48%
16 Shots 10
3 Shots on target 4
9 Corners 2
106 Attacks 83
49 Dangerous attacks 32
460 Passes 441
85.0% Pass accuracy 85.3%
11 Tackles 25
10 Fouls 21
1 Yellow cards 4
3 Offsides 1

Key events

Portland Timbers St. Louis City
Kick-off
1’
Rafael NavarroLeft foot shot0-1 (St. Louis City)
12’
Jeong Sang-binShot on target
31’
Kristoffer VeldeFree Kick1-1 (Portland Timbers)
32’
36’
Jaziel OrozcoPersistent fouling
45+2’
Half-time1-1
Cole BassettShot on target
48’
51’
Rafael NavarroHeader1-2 (St. Louis City)
Second half underway
58’
67’
Kristoffer VeldeFree Kick2-2 (Portland Timbers)
89’
90+4’
Damion DownsShot on target
Full-time2-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 2.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.92 1.91 1’ Rafael Navarro (St. Louis City), 0-1 1’ 32’ Kristoffer Velde (Portland Timbers), 1-1 32’ 51’ Rafael Navarro (St. Louis City), 1-2 51’ 89’ Kristoffer Velde (Portland Timbers), 2-2 89’ 0.0 0.5 1.0 1.5 2.0 2.5 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.92 1.91 1’ Rafael Navarro (St. Louis City), 0-1 Navarro 1’ 32’ Kristoffer Velde (Portland Timbers), 1-1 Velde 32’ 51’ Rafael Navarro (St. Louis City), 1-2 Navarro 51’ 89’ Kristoffer Velde (Portland Timbers), 2-2 Velde 89’
Portland Timbers 0.92 xGSt. Louis City 1.91 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 St. Louis City attacking Portland Timbers attacking 
51’ Rafael Navarro (St. Louis City), open play, 0.66 xG, goal 12’ Jeong Sang-bin (St. Louis City), open play, 0.40 xG, saved 1’ Rafael Navarro (St. Louis City), open play, 0.30 xG, goal 46’ Cole Bassett (Portland Timbers), from a corner, 0.20 xG, off target 89’ Kristoffer Velde (Portland Timbers), direct free kick, 0.17 xG, goal 12’ Rafael Navarro (St. Louis City), open play, 0.13 xG, off target 90+2’ Cole Bassett (Portland Timbers), open play, 0.12 xG, off target 90+4’ Damion Downs (St. Louis City), open play, 0.12 xG, saved 10’ Dante Polvara (St. Louis City), from a corner, 0.10 xG, off target 53’ Jeong Sang-bin (St. Louis City), from a corner, 0.08 xG, off target 39’ Cole Bassett (Portland Timbers), open play, 0.05 xG, off target 12’ Tomas Totland (St. Louis City), open play, 0.04 xG, off target 41’ Kristoffer Velde (Portland Timbers), open play, 0.04 xG, off target 45’ Vincent Janssen (Portland Timbers), open play, 0.04 xG, blocked 53’ Christopher Durkin (St. Louis City), from a corner, 0.04 xG, off target 32’ Kristoffer Velde (Portland Timbers), direct free kick, 0.04 xG, goal 90+2’ Gage Guerra (Portland Timbers), open play, 0.04 xG, off target 25’ Kristoffer Velde (Portland Timbers), open play, 0.03 xG, blocked 52’ Rafael Navarro (St. Louis City), open play, 0.03 xG, blocked 60’ Ariel Lassiter (Portland Timbers), open play, 0.03 xG, blocked 71’ Antony Alves (Portland Timbers), open play, 0.03 xG, blocked 12’ Ariel Lassiter (Portland Timbers), open play, 0.03 xG, blocked 75’ Joao Ortíz (Portland Timbers), open play, 0.03 xG, blocked 30’ Kristoffer Velde (Portland Timbers), open play, 0.02 xG, blocked 48’ Cole Bassett (Portland Timbers), open play, 0.02 xG, saved 63’ Kristoffer Velde (Portland Timbers), open play, 0.02 xG, blocked 51’ Rafael Navarro (St. Louis City), open play, 0.66 xG, goal 12’ Jeong Sang-bin (St. Louis City), open play, 0.40 xG, saved 1’ Rafael Navarro (St. Louis City), open play, 0.30 xG, goal 46’ Cole Bassett (Portland Timbers), from a corner, 0.20 xG, off target 89’ Kristoffer Velde (Portland Timbers), direct free kick, 0.17 xG, goal 12’ Rafael Navarro (St. Louis City), open play, 0.13 xG, off target 90+2’ Cole Bassett (Portland Timbers), open play, 0.12 xG, off target 90+4’ Damion Downs (St. Louis City), open play, 0.12 xG, saved 10’ Dante Polvara (St. Louis City), from a corner, 0.10 xG, off target 53’ Jeong Sang-bin (St. Louis City), from a corner, 0.08 xG, off target 39’ Cole Bassett (Portland Timbers), open play, 0.05 xG, off target 12’ Tomas Totland (St. Louis City), open play, 0.04 xG, off target 41’ Kristoffer Velde (Portland Timbers), open play, 0.04 xG, off target 45’ Vincent Janssen (Portland Timbers), open play, 0.04 xG, blocked 53’ Christopher Durkin (St. Louis City), from a corner, 0.04 xG, off target 32’ Kristoffer Velde (Portland Timbers), direct free kick, 0.04 xG, goal 90+2’ Gage Guerra (Portland Timbers), open play, 0.04 xG, off target 25’ Kristoffer Velde (Portland Timbers), open play, 0.03 xG, blocked 52’ Rafael Navarro (St. Louis City), open play, 0.03 xG, blocked 60’ Ariel Lassiter (Portland Timbers), open play, 0.03 xG, blocked 71’ Antony Alves (Portland Timbers), open play, 0.03 xG, blocked 12’ Ariel Lassiter (Portland Timbers), open play, 0.03 xG, blocked 75’ Joao Ortíz (Portland Timbers), open play, 0.03 xG, blocked 30’ Kristoffer Velde (Portland Timbers), open play, 0.02 xG, blocked 48’ Cole Bassett (Portland Timbers), open play, 0.02 xG, saved 63’ Kristoffer Velde (Portland Timbers), open play, 0.02 xG, blocked
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
Fory
Surman
Miller 81’
Miller 65’
Lassiter 65’
Bassett
Ortíz 81’
Velde 2
Costa 18’
Janssen 90’
St. Louis City 3-1-4-2 Starting XI
Bürki
Orozco 46’
Baumgartl
Totland
Santos 80’
Polvara 65’
Durkin
Edelman
Mățan 80’
Sang-bin 65’
Navarro 2 89’

Player stats

Goalkeeper1 player
90′ 2 2 21 – – – – –
Defenders6 players
Eric Miller Taken off
65′ – – – 1 – 29 1 – –
90′ 2 2 1 5 2 56 1 – – –
Kamal Miller Taken off
81′ – 2 – – – 38 2 – – –
90′ 2 3 – 5 2 45 1 – – –
Ronald Hernández Came on as a substitute
25′ 1 2 – 1 – 22 1 – – –
Ian Smith Came on as a substitute
9′ 1 – – 2 – 11 – – – –
Midfielders7 players
90′ – 1 44 4 0.09 1 – 6 – 3 –
Joao Ortíz Taken off
81′ – – 32 1 0.02 1 – 1 1 – –
David Pereira Da Costa Taken off
18′ – – 9 – 0.01 – – 1 – – –
Ariel Lassiter Taken off
65′ – – 22 1 0.06 – 1 5 – 4 –
90′ 2 – 32 2 0.37 – – 8 2 7 –
Diego Chará Came on as a substitute
72′ – – 46 – 0.01 3 – 5 1 2 –
Antony Alves Came on as a substitute
25′ – – 13 – 0.01 – – 2 – – –
Forwards2 players
Vincent Janssen Taken off
89′ – – 1 – 0.04 0.02 2 4 – 32 –
Omir Fernandez Came on as a substitute
9′ – – – – – 0.01 – 1 1 3 –
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.