Portland got the better of Seattle at Providence Park in a pulsating derby that swung back and forth before the hosts finally broke through. It was level at the interval, but the Timbers edged it in the second half to win 2-1. Brandon Bye was outstanding down the flank and fully deserved his Man of the Match award, constantly troubled Seattle's defence and made the difference when it mattered most. The Sounders threw bodies forward trying to find a leveller and had more attempts overall, but Portland's clinical finishing in front of goal proved decisive. This was exactly the sort of result the home side needed. They dominated possession for large stretches and it showed in the final scoreline, though it was far from comfortable. The Sounders will feel they should've done better given the chances that came their way, but that's how these matches go sometimes. Portland came out on top when it counted, and that's all that matters in the standings.
The Matchup
Portland Timbers beat Seattle Sounders 2-1 at Providence Park, and the numbers from the match back up how the game played out. Portland Timbers also had the better share of the ball, holding 53% possession, which usually goes hand in hand with the extra control a winning side tends to show. The shot count told a similar story, with 14 attempts from Portland Timbers against 16 from Seattle Sounders over the course of the game. Seattle Sounders had their moments and did not make it easy from start to finish, but ultimately came up short on the day. Small margins like this one tend to add up over a season, and results such as this are often what separates teams in the table further down the line. Here is a closer look at exactly how the two sides compared, statistically.
Man of the Match
Match Statistics
Match Events
| Min | Team | Card | Event | Score |
|---|---|---|---|---|
| 7' | Seattle Sounders | Substitution — P. Arriola on, K. Kossa-Rienzi off | 0-0 | |
| 25' | Seattle Sounders | Peter Kingston | 0-0 | |
| 27' | Seattle Sounders | Goal — K. Kossa-Rienzi | 0-1 | |
| 30' | Portland Timbers | Kamal Miller | 0-1 | |
| 41' | Portland Timbers | Goal — K. Kelsy (assist: K. Velde) | 1-1 | |
| 45+5' | Portland Timbers | Kevin Kelsy | 1-1 | |
| 46' | Seattle Sounders | Substitution — P. Kingston on, S. Gomez off | 1-1 | |
| 65' | Portland Timbers | Substitution — A. Lassiter on, Antony off | 1-1 | |
| 71' | Seattle Sounders | Sebastian Gomez | 1-1 | |
| 73' | Seattle Sounders | Substitution — Kim Kee-Hee on, A. Roldan off | 1-1 | |
| 73' | Seattle Sounders | Substitution — O. De Rosario on, D. Musovski off | 1-1 | |
| 82' | Portland Timbers | Goal — B. Bye (assist: D. Da Costa) | 2-1 | |
| 84' | Seattle Sounders | Substitution — on, A. Lopez off | 2-1 | |
| 88' | Portland Timbers | Substitution — C. Bassett on, J. Caicedo off | 2-1 | |
| 88' | Portland Timbers | Substitution — K. Kelsy on, I. Smith off | 2-1 | |
| 90+4' | Portland Timbers | Substitution — K. Velde on, O. Fernandez off | 2-1 |
Portland Timbers vs Seattle Sounders Lineups
Looking Ahead
Portland Timbers does not have long to wait before getting back out onto the pitch. Their next test comes at home to Austin FC, and how they respond after this result will be worth watching. You can follow the build-up and everything you need to know when Portland Timbers vs Austin FC going to play at 30 August 2026 in Major League Soccer 2026.
Seattle Sounders, meanwhile, will already be turning their attention to what comes next. They are next in action at home to Chicago Fire, a game that will give an early sense of how they carry this result forward. Full details are here: Seattle Sounders vs Chicago Fire going to play at 29 August 2026 in Major League Soccer 2026.