Seattle Sounders vs Portland Timbers

17 July 2026 · MLS · 2026 · Referee Rosendo Mendoza

Full time 1 – 5

Half-time: 0–1

  • Hassani Dotson 87’
  • Kevin Kelsy 19’, 63’
  • Kamal Miller 56’
  • Cole Bassett 60’
  • Alexander Aravena 90+8’

Match summary

Portland Timbers won comfortably, 5-1 away at Seattle Sounders. Portland Timbers led 1-0 at half-time.

In the first half, Kevin Kelsy put Portland Timbers ahead with a header in the 19th minute. In the second half, Kamal Miller made it 0-2 in the 56th minute, Cole Bassett made it 0-3 in the 60th minute, Kelsy made it 0-4 in the 63rd minute, Hassani Dotson pulled one back to make it 1-4 with a header in the 87th minute, and Alexander Aravena made it 1-5 in stoppage time.

The chances backed that up: Portland Timbers created 2.31 expected goals (xG) from 20 shots to Seattle Sounders's 0.53 from 11.

Match stats

48% Possession 52%
10 Shots 20
6 Shots on target 10
2 Corners 8
75 Attacks 83
39 Dangerous attacks 42
456 Passes 509
86.6% Pass accuracy 86.8%
13 Tackles 12
7 Fouls 7
2 Yellow cards 0
2 Offsides 1

Key events

Seattle Sounders Portland Timbers
Kick-off
7’
Corner
11’
Corner
16’
Corner
19’
Kevin KelsyHeader0-1 (Portland Timbers)
22’
David Pereira Da CostaShot on target
23’
Antony AlvesShot on target
24’
Corner
Snyder BrunellShot on target
29’
Kalani Kossa-RienziShot on target
29’
34’
David Pereira Da CostaShot on target
41’
44’
Corner
45’
Corner
Half-time0-1
Second half underway
48’
Antony AlvesShot on target
49’
Corner
53’
54’
Corner
56’
Kamal MillerRight foot shot0-2 (Portland Timbers)
60’
Cole BassettLeft foot shot0-3 (Portland Timbers)
63’
Kevin KelsyRight foot shot0-4 (Portland Timbers)
63’
Antony AlvesShot on target
Daniel MusovskiShot on target
71’
Albert RusnákShot on target
80’
Paul RothrockVAR: Penalty given
82’
Peter KingstonShot on target
86’
Corner
86’
Hassani DotsonHeader1-4 (Seattle Sounders)
87’
87’
Felipe MoraKevin Kelsy
90+1’
90+6’
Corner
90+8’
Alexander AravenaRight foot shot1-5 (Portland Timbers)
Full-time1-5

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 3.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.53 2.31 19’ Kevin Kelsy (Portland Timbers), 0-1 19’ 56’ Kamal Miller (Portland Timbers), 0-2 56’ 60’ Cole Bassett (Portland Timbers), 0-3 60’ 63’ Kevin Kelsy (Portland Timbers), 0-4 63’ 87’ Hassani Dotson (Seattle Sounders), 1-4 87’ 90+8’ Alexander Aravena (Portland Timbers), 1-5 90+8’ 0.0 0.5 1.0 1.5 2.0 2.5 3.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.53 2.31 19’ Kevin Kelsy (Portland Timbers), 0-1 Kelsy 19’ 56’ Kamal Miller (Portland Timbers), 0-2 Miller 56’ 60’ Cole Bassett (Portland Timbers), 0-3 Bassett 60’ 63’ Kevin Kelsy (Portland Timbers), 0-4 Kelsy 63’ 87’ Hassani Dotson (Seattle Sounders), 1-4 Dotson 87’ 90+8’ Alexander Aravena (Portland Timbers), 1-5 Aravena 90+8’
Seattle Sounders 0.53 xGPortland Timbers 2.31 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Portland Timbers attacking Seattle Sounders attacking 
90+8’ Alexander Aravena (Portland Timbers), open play, 0.60 xG, goal 63’ Kevin Kelsy (Portland Timbers), open play, 0.55 xG, goal 56’ Kamal Miller (Portland Timbers), set piece, 0.22 xG, goal 2’ Kalani Kossa-Rienzi (Seattle Sounders), open play, 0.13 xG, blocked 24’ Brandon Bye (Portland Timbers), from a corner, 0.14 xG, blocked 63’ Antony Alves (Portland Timbers), open play, 0.13 xG, saved 29’ Snyder Brunell (Seattle Sounders), open play, 0.11 xG, saved 60’ Cole Bassett (Portland Timbers), open play, 0.10 xG, goal 90+7’ Alexander Aravena (Portland Timbers), from a corner, 0.11 xG, off target 22’ David Pereira Da Costa (Portland Timbers), open play, 0.08 xG, saved 68’ Antony Alves (Portland Timbers), open play, 0.07 xG, off target 29’ Kalani Kossa-Rienzi (Seattle Sounders), open play, 0.06 xG, saved 80’ Albert Rusnák (Seattle Sounders), direct free kick, 0.05 xG, saved 43’ Antony Alves (Portland Timbers), set piece, 0.05 xG, off target 71’ Daniel Musovski (Seattle Sounders), open play, 0.05 xG, saved 74’ José Caicedo (Portland Timbers), open play, 0.04 xG, off target 19’ Kevin Kelsy (Portland Timbers), open play, 0.04 xG, goal 43’ Ariel Lassiter (Portland Timbers), direct free kick, 0.04 xG, hit the woodwork 16’ Brandon Bye (Portland Timbers), open play, 0.03 xG, off target 34’ David Pereira Da Costa (Portland Timbers), open play, 0.03 xG, saved 35’ Kalani Kossa-Rienzi (Seattle Sounders), open play, 0.03 xG, blocked 48’ Antony Alves (Portland Timbers), open play, 0.03 xG, saved 86’ Peter Kingston (Seattle Sounders), open play, 0.03 xG, saved 87’ Hassani Dotson (Seattle Sounders), from a corner, 0.03 xG, goal 11’ Kevin Kelsy (Portland Timbers), open play, 0.02 xG, blocked 24’ Cole Bassett (Portland Timbers), from a corner, 0.02 xG, off target 68’ Jackson Ragen (Seattle Sounders), set piece, 0.02 xG, blocked 90’ Osaze De Rosario (Seattle Sounders), open play, 0.02 xG, off target 23’ Antony Alves (Portland Timbers), open play, 0.02 xG, saved 54’ Paul Rothrock (Seattle Sounders), from a corner, 0.01 xG, off target 17’ Kevin Kelsy (Portland Timbers), from a corner, 0.01 xG, off target 90+8’ Alexander Aravena (Portland Timbers), open play, 0.60 xG, goal 63’ Kevin Kelsy (Portland Timbers), open play, 0.55 xG, goal 56’ Kamal Miller (Portland Timbers), set piece, 0.22 xG, goal 2’ Kalani Kossa-Rienzi (Seattle Sounders), open play, 0.13 xG, blocked 24’ Brandon Bye (Portland Timbers), from a corner, 0.14 xG, blocked 63’ Antony Alves (Portland Timbers), open play, 0.13 xG, saved 90+7’ Alexander Aravena (Portland Timbers), from a corner, 0.11 xG, off target 29’ Snyder Brunell (Seattle Sounders), open play, 0.11 xG, saved 60’ Cole Bassett (Portland Timbers), open play, 0.10 xG, goal 22’ David Pereira Da Costa (Portland Timbers), open play, 0.08 xG, saved 68’ Antony Alves (Portland Timbers), open play, 0.07 xG, off target 29’ Kalani Kossa-Rienzi (Seattle Sounders), open play, 0.06 xG, saved 80’ Albert Rusnák (Seattle Sounders), direct free kick, 0.05 xG, saved 43’ Antony Alves (Portland Timbers), set piece, 0.05 xG, off target 71’ Daniel Musovski (Seattle Sounders), open play, 0.05 xG, saved 74’ José Caicedo (Portland Timbers), open play, 0.04 xG, off target 19’ Kevin Kelsy (Portland Timbers), open play, 0.04 xG, goal 43’ Ariel Lassiter (Portland Timbers), direct free kick, 0.04 xG, hit the woodwork 16’ Brandon Bye (Portland Timbers), open play, 0.03 xG, off target 34’ David Pereira Da Costa (Portland Timbers), open play, 0.03 xG, saved 35’ Kalani Kossa-Rienzi (Seattle Sounders), open play, 0.03 xG, blocked 86’ Peter Kingston (Seattle Sounders), open play, 0.03 xG, saved 87’ Hassani Dotson (Seattle Sounders), from a corner, 0.03 xG, goal 48’ Antony Alves (Portland Timbers), open play, 0.03 xG, saved 11’ Kevin Kelsy (Portland Timbers), open play, 0.02 xG, blocked 24’ Cole Bassett (Portland Timbers), from a corner, 0.02 xG, off target 68’ Jackson Ragen (Seattle Sounders), set piece, 0.02 xG, blocked 90’ Osaze De Rosario (Seattle Sounders), open play, 0.02 xG, off target 23’ Antony Alves (Portland Timbers), open play, 0.02 xG, saved 54’ Paul Rothrock (Seattle Sounders), from a corner, 0.01 xG, off target 17’ Kevin Kelsy (Portland Timbers), 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

Seattle Sounders 4-2-3-1 Starting XI
Thomas
Tolo
Lopez 84’
Ragen
Kossa-Rienzi 64’
Brunell 64’
Dotson
Rothrock
Rusnák
Ferreira 64’
Morris 46’
Portland Timbers 4-1-4-1 Starting XI
Pantemis
Fory
Surman
Miller
Bye
Chará 87’
Lassiter 73’
Alves 90’
Bassett 73’
Costa
Kelsy 2 87’

Player stats

Goalkeeper1 player
90′ 5 5 27 – – – – –
Defenders5 players
Kalani Kossa-Rienzi Taken off
64′ – – – – – 29 – – – –
Antino Lopez Taken off
84′ 2 1 – 2 – 35 – – – –
90′ 2 1 – 4 2 68 1 – –
90′ 2 1 – 4 1 40 – – – –
Stuart Hawkins Came on as a substitute
6′ – 1 – 1 1 9 1 – – –
Midfielders7 players
Snyder Brunell Taken off
64′ – – 27 – 0.03 – 1 1 – – –
90′ 1 – 75 2 0.08 4 1 7 – 1 –
Jesús Ferreira Taken off
64′ – – 30 1 0.09 – 1 – – – –
90′ – 1 43 2 0.20 – – – – – –
90′ – – 17 1 0.09 2 – 6 2 3
Peter Kingston Came on as a substitute
26′ – – 20 – 0.03 1 2 2 – – –
Paul Arriola Came on as a substitute
26′ – – 12 – 0.00 – 1 1 – – –
Forwards3 players
Jordan Morris Taken off
45′ – – – – – 0.00 – – – 3 –
Daniel Musovski Came on as a substitute
45′ – – 1 1 0.05 0.02 – 1 1 12 –
Osaze De Rosario Came on as a substitute
26′ – – 1 – 0.02 0.02 – 4 1 8 –
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.