Real Salt Lake dominated Portland at America First Field, running out 2-0 winners in a one-sided affair. The home side controlled the game from start to finish, racking up 25 shots compared to Portland's 11, with 15 of those finding the target. Salt Lake had already put the game to bed by halftime, leading 2-0 at the break, and despite Portland's best efforts in the second half, they never really threatened a comeback. The visitors managed just two shots on target all afternoon. The stats tell the story of a thoroughly professional performance from Salt Lake. Portland's James Pantemis made some excellent saves to keep the scoreline respectable, earning the official Man of the Match rating, but even his heroics couldn't paper over the cracks in his team's display. Salt Lake's 53 percent possession and territorial advantage translated into clear-cut chances, and they made their dominance count where it mattered most.
The Matchup
Real Salt Lake 2-0 Portland Timbers was the final score at America First Field, in a game where Real Salt Lake did enough across the ninety minutes to deserve the three points. Real Salt Lake 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 25 attempts from Real Salt Lake against 11 from Portland Timbers over the course of the game. It was not always comfortable for Real Salt Lake, and Portland Timbers pushed for a way back into the game, but the result stood. Games like this can carry real weight later in the season, so this is a scoreline worth remembering. Below is a closer look at how the match broke down, statistically.
Man of the Match
Match Statistics
Match Events
| Min | Team | Card | Event | Score |
|---|---|---|---|---|
| 10' | Real Salt Lake | Goal — Z. Gozo (assist: S. Solans) | 1-0 | |
| 28' | Real Salt Lake | Goal — D. Luna (assist: J. Sanabria) | 2-0 | |
| 46' | Portland Timbers | Substitution — F. Surman on, K. Miller off | 2-0 | |
| 59' | Portland Timbers | Substitution — C. Bassett on, A. Aravena off | 2-0 | |
| 59' | Portland Timbers | Substitution — A. Bonetig on, I. Smith off | 2-0 | |
| 60' | Portland Timbers | Jímer Fory | 2-0 | |
| 61' | Real Salt Lake | Substitution — J. Glad on, P. Quinton off | 2-0 | |
| 76' | Real Salt Lake | Substitution — S. Solans on, V. Olatunji off | 2-0 | |
| 76' | Real Salt Lake | Substitution — Z. Gozo on, Z. Booth off | 2-0 | |
| 82' | Portland Timbers | Ian Smith | 2-0 | |
| 85' | Real Salt Lake | Juan Sanabria | 2-0 | |
| 89' | Real Salt Lake | Substitution — S. Spierings on, P. Ruiz off | 2-0 | |
| 89' | Real Salt Lake | Substitution — D. Luna on, A. Hezarkhani off | 2-0 | |
| 90+1' | Portland Timbers | Substitution — K. Kelsy on, G. Guerra off | 2-0 |
Real Salt Lake vs Portland Timbers Lineups
Looking Ahead
Real Salt Lake does not have long to wait before getting back out onto the pitch. Their next test comes away at Colorado Rapids, and how they respond after this result will be worth watching. You can follow the build-up and everything you need to know when Colorado Rapids vs Real Salt Lake going to play at 30 August 2026 in Major League Soccer 2026.
Portland Timbers, meanwhile, will already be turning their attention to what comes next. They are next in action at home to Austin FC, a game that will give an early sense of how they carry this result forward. Full details are here: Portland Timbers vs Austin FC going to play at 30 August 2026 in Major League Soccer 2026.