The Timbers (13-5-14) moved into first place in the MLS Western Conference, pulling them closer to the postseason spot with two games left. Portland has not lost in six straight overall matches, and hasn't lost at home in 14 straight.
It was the third straight loss for the Sounders, who fell to Vancouver Whitecaps 4-1 on Wednesday night. The Sounders (15-11-6) dropped into third place in the conference standings as the playoffs loom.
Seattle star Clint Dempsey, captain of the U.S. national team, appeared to injure his shoulder in the first half and twice went to the sidelines to seek treatment. But he returned for the second half.
With the Seattle loss, Vancouver claimed the supporters-created Cascadia Cup, an annual three-way competition between the Sounders, Whitecaps and Timbers.
The Timbers were last season's recipients of the Cascadia Cup, which was introduced in 2004 when all three teams were part of the United Soccer Leagues First Division. But the actual rivalry between the three teams dates to 1975, when they were part of the North American Soccer League.
Both the Sounders and Timbers were missing players because of international duty. The Timbers were without defenders Rodney Wallace (Costa Rica) and Alvas Powell (Jamaica) and forward Ryan Johnson (Jamaica). The Sounders were without midfielder Brad Evans and forward Eddie Johnson, both of the U.S. national team.
Sounders coach Sigi Schmid decided to go with Marcus Hahnemann in goal instead of usual starter Michael Gspurning. It was Hahnemann's third start this season.
Dempsey's header came close in the 14th minute but hit the crossbar, denying him of his first goal with the Sounders. A short time later, he was seen running to the sideline holding his left shoulder. He was briefly looked at by a trainer before heading back on the field.
Dempsey came off again in the 27th minutes, and his shoulder was treated on the bench. He had just returned from a hamstring injury that has kept him out since Sept. 13, entering Wednesday's match against Vancouver in the 51st minute before starting against the Timbers.
Alhassan doffed his jersey after his goal from the top of the box flew past Hahnemann, running to the corner and dancing for the fans before he was mobbed by his teammates.
The match was heated throughout, but tempers flared after Portland's Darlington Nagbe was fouled in the 72nd minute. In the back-and-fourth between the two teams, Seattle's Osvaldo Alonso elbowed Will Johnson and was sent off two minutes later with a red card.
Alonso had to be pulled away from the officials by teammate Steve Zakuani before he left the field. Schmid also vociferously argued the ejection.
Zakuani's had a shot that hit the crossbar in stoppage time, and defender Jack Jewsbury helped to stop and clear a rebound.
It was the third meeting this season between the two teams, but first in Portland. The first ended in a 1-1 draw and Seattle claimed the second 1-0.
The Timbers have not earned a playoff berth since joining MLS in 2011.