The Portland Timbers came back from one goal down to completed the season sweep of the Seattle Sounders by a scoreline of 2-1 on Saturday night at Providence Park. Kalani Kossa-Rienzi opened the scoring for the visitors, but Kevin Kelsy leveled the score in the first half and Brandon Bye's first goal in a Timbers shirt powered the home side to yet another signature win over their bitter rivals.
The loss doomed Seattle to a club-record sixth consecutive loss, and extended Portland's unbeaten run to four games. The brief interim Jack Cassidy era saw Portland take 10 points from those four games, and Saturday's win lifted them above the Sounders and into 8th place in the Western Conference.

Lineups & Prematch
In what is surely going to be Jack Cassidy's last match (at least in league play) as interim manager of the Timbers, he enjoyed being able to return to his first choice starting lineup.
Kevin Kelsy returned to full health and into the starting XI, and Diego Chara got the nod in the middle of the pitch in the now-preferred 4-3-3. Kristoffer Velde and Ariel Lassiter retained their starting spots in the front line to complete a strong lineup for the home side.

The match also saw the return of Omir Fernandez, who started on the bench for his first appearance for the Timbers this season, after suffering a foot injury in preseason.
As kickoff approached, Providence Park built an energy that is hasn't felt in quite some time – definitely not in 2026. Buoyed by seeing their team take seven points from their last three games, Timbers fans were as excited to watch their team as they have ever been this season.
Not that they needed any reason to get up for this game: it was a rivalry game against Seattle at home. Timbers fans were up for it.
That was emphasized by yet another incredible tifo display from the Timbers Army. Keeping with the horror film theme, the TA drew inspiration from Hellraiser and unveiled a display highlighted by an amazing interactive unveiling of the film's villain Pinhead.
Video credit: Kelsey Baker
It was yet another magisterial display from the TA, who frankly are miles ahead of any other fan group in the country with the scale, creativity, and execution of their tifos.
"Demons to Some. Angels to Others. We'll Tear Your Souls Apart." Words from the Timbers Army fitting to raise the curtain at Providence Park of the 126th edition of Timbers vs. Sounders.
Recap & Highlights
It was a shaky opening to the match for the home side, unfortunately. The opening quarter of the game saw Portland play slower than their rivals, and come second to every loose ball.
More worryingly, the Timbers were sloppy in their passing sequences. It created a myriad of poor giveaways for the Sounders to latch onto. And most worryingly, Portland's backline was, to a man, too slow to respond and recover.
In the attacking phase, Portland was not faring much better. Sloppy passes were gobbled up by the Sounders' backline, and a lack of penetration from the wings prevented Portland from creating any kind of rhythm in the face of Seattle's press.
Credit where credit is due: Seattle came to town locked in for this one. As mentioned, they were first to seemingly every loose ball and looked to attack direct and with purpose. The result was Portland being put squarely on their heels.
Distressingly, it also resulted in the match's opening goal.
27' Goal Seattle – Kossa-Rienzi (0-1)
One of those aforementioned poor giveaways from Portland led to a Seattle attack in transition. Albert Rusnak launched a ball into the mixer, and the clearance fell to the top of the box. Kalani Kossa-Rienzi, who entered the game in the 5th minute due to a non-contact injury suffered by Paul Arriola, was wide open to collect the ball. He smashed a shot through traffic that James Pantemis nearly got a hand to, but it nonetheless slotted into the bottom corner to give the visitor's the lead.
It was not an unearned goal, and you could feel the tide steadily turning against the Timbers in the lead up. The play from Portland did not improve much at all after conceding, as the sloppy play continued at both ends.
Ariel Lassiter missed a sitter at the back stick in the 36th minute, after he scuffed a deflected cross from Jimer Fory. And in the 38th minute heading the other way, Seattle came close to adding a second as Paul Rothrock streaked in on the breakaway. Pantemis came flying off his line and collided hard with Rothrock in an attempt to win the ball, with both players temporarily shaken up after the play.
As the first half wore down, it really felt like Portland was disinterested in scoring. Disconnection permeated the field, and discontent permeated the stands. The Timbers were losing at home to their biggest rival, and the huge win in Seattle from 16 days prior started to feel like a distant memory.
So it sure is pretty great that the biggest hero from that game popped up in the perfect place at the perfect time to get his side back in the game.
41' GOAL TIMBERS! – Kelsy (1-1)
Kristoffer Velde, who had been active but ultimately ineffective on the left wing up to this point, collected the ball and cut back into the pocket at the top of the box. He curled a wicked cross (or maybe a shot?) towards the back post, and Kevin Kelsy was first to skip past his defender and meet it. Kelsy knocked the ball past Andrew Thomas, and after some hesitation due to a potential VAR check, the goal was confirmed and the score was level.
The goal was Kevin's third against the Sounders this year, and his fourth goal in three appearances for Portland. It emphasized how red-hot the young Venezuelan's form has been for the Timbers, with his latest contribution being rescuing his side from a poor first half.
Halfway through the eight added minutes at the end of the first half, there was a shout or two from Kelsy and the Timbers for a penalty after the forward went down in Seattle's box after seemingly being fouled on two separate occasions. But the ref judged that it was instead a dive from Kelsy, and Kevin was shown the yellow card.
A sloppy and nervy first half came to a close with both teams knotted at one goal apiece, and the anxiety in the stadium still at a high.
HALFTIME: Timbers 1, Sounders 1
Portland couldn't afford to have a second half that was anywhere close to their first half performance if they hoped to complete the season sweep of the Sounders. So it was imperative that they come out focused and – wait why am I about to write a highlight about a Pants save.
49' Save POR – Pantemis
A looping header from Ferreira nearly caught Pantemis out, but he made a great stretch while jumping backwards to swat away the attempt. The chance came off of Seattle catching Portland with their pants down off the jump in start of the second half, and did not portend well for the start of Portland's second half.
Thankfully, the boys in dark green settled down and buckled in. What transpired over the course of the following 20 minutes was the home side slowly but steadily turning the screw on the Sounders. Portland pushed Seattle back step by step, and gradually won control of the field.
58' Chance POR – Bassett
A great flowing move from the Timbers saw Velde skip past his defender and resulted in Da Costa squaring the ball to Cole Bassett at the top of the box. Bassett's shot was absolute chimneys however, as he skied is shot well over the bar.
64' Chance POR – Velde
Another great flowing counter attack from Portland saw some great interplay leading up to Kelsy laying the ball off for Velde in the box. Kristof chose to try to walk the ball into the net instead of getting off a shot, and had it eventually cleared off his foot.
78' Chance POR – Antony (and also a lot of other dudes)
Another chance, another opportunity for Portland to fail to take a shot in an advantageous position. The ball worked it's way to Da Costa, who passed up a shot to pass to Antony, who passed up a shot to try to dribble through a wall of defenders and have it cleared.
There was two ways to look at Portland's steady strangling of Seattle. On one hand, they had very little to show for the fact that they were squarely the dominant side by the hour mark. On the other... well, they were squarely the dominant side by the hour mark. It was a far cry from the stuttering and inconsistent first half performance, and while it wasn't dramatic, it was no less satisfying to see Portland be the ones who put Seattle on their heels.
Still, the stands at Providence Park had yet to experience the satisfaction of a lead. Despite Portland recording eight shots between the 46th and 80th minute, they had yet to come close to breaching the Seattle defense. The biggest mounting frustration was Portland failing to get a clean shot on goal, despite their growing advantage.
As hope was flailing, Portland finally found their salvation from an unlikely source: their right fullback.

GOAL TIMBERS!! – Bye (2-1)
The Portland Timbers came at the Sounders again, and David Da Costa – who had an excellent game all night – collapsed the defense on the left wing and cut back with the ball to the top of the box. He squared to Brandon Bye who, from almost the exact position of Kossa-Rienzi in the first half, put his laces through the ball and hit a low smacker through a forest of legs. Andrew Thomas saw it too late, and it nestled past him into the bottom corner.
Advantage, Timbers. Jubilation, Timbers fans. Pain piled on right in front of them, the fans of the Timbers' opponents.
Bye's first Timbers goal could not have come at a better time, as he helped his side finally find paydirt after their suffocation of the Sounders in the second half.
From that point on, the result became a foregone conclusion. Seattle had lost five matches in a row leading into Saturday, and when you are in that kind of death spiral and staring down the barrel of a sixth straight loss it starts to feel inevitable.
Late in the match, Omir Fernandez made his return to the Providence Park turf. He subbed on in second half stoppage time to mark his return from an injury suffered in preseason and make his first appearance of the 2026 season.
The stoppage time ticked away, the Timbers killed the game off, and just as it was 16 days prior in Seattle, the fish was once again: gutted.
FULL TIME: Timbers 2, Sounders 1
