The victory clinched RSL's fifth straight berth, and kept the Timbers winless on the road at 0-11-4 this season.
With 49 points from a 15-11-4 record, RSL wound up tied with the L.A. Galaxy for second place in the MLS Western Conference. They are in position to avoid the new wild-card game in the playoffs.
"I don't think we can be comfortable right now," defender Nat Borchers said.
Especially because as satisfying as it felt for RSL to all but bury the Timbers with two stunning strikes off free kicks in the first 36 minutes the team had scored just three goals in its previous six league games the team didn't exactly close out the game with authority.
The Timbers battled back in the second half, and forward Bright Dike put home a header in the 61st minute to halve the lead and put some anxiety into the sellout crowd of 20,524 fans.
Ultimately, though, they could not find another goal.
They had two great chances, but RSL goalkeeper Nick Rimando leaped high to punch away a dangerous free kick in the 82nd minute, and Dike put an open shot off the crossbar in the 86th.
Meanwhile, RSL couldn't convert on any of the terrific opportunities it created, including three in a seven-minute span in which Espindola and forward Paulo Jr. were in on goal alone but couldn't finish against goalkeeper Joseph Bendik and a team that was playing without injured leading scorer Kris Boyd and is 7-15-8, all but certain to miss the playoffs.
"We could have scored five, six goals tonight," Rimando said. "We have to put our opportunities away, especially at home, especially against teams that are fighting for their jobs. It's only going to get harder."
Just the same, it felt a little like a breakout performance for a team that really has been scrapping lately.
Saborio missed the game with a shoulder injury, too, leading Morales to joke that "we were a little scared" to play without him, because so few others have scored recently. Espindola had not scored since June 16 and Morales had not struck since June 23, and Saborio had scored 10 of the team's last 17 goals in all competitions.
"We just got more numbers forward," Kreis said. "We created a lot of very, very good chances, through just passing and moving and being dynamic in the attacking third of the field. … Of course, I wish we had scored a few more, and made it more comfortable for ourselves. But we didn't. Again.
"But we're moving in the right direction."
Storylines RSL 2, Timbers 1
IN SHORT • Real Salt Lake wraps up a playoff berth with a 2-1 victory over the Portland Timbers.
KEY STAT • RSL is 13-1-0 this season when scoring first.
KEY MOMENT • Fabian Espindola blasts home a shot off a free kick in the 14th minute to give RSL the early lead.