Yimmi Chara and Felipe Mora also scored for the Timbers, who snapped a three-match winless streak and moved past RSL and into the seventh and final playoff position in the Western Conference at midseason.
Timbers goalkeeper Aljaz Ivacic made seven saves, including a diving stop on a shot by Rusnak late in second-half stoppage time.
Portland took a 2-0 lead in the opening half-hour of play.
Asprilla scored on a penalty kick in the 10th minute after Salt Lake's Toni Datkovic was called for a handball in the 18-yard box following a video review.
The Timbers doubled their advantage in the 29th minute. Josecarlos Van Rankin drove the ball down the right wing before making a pass to Marvin Loria, who fed Asprilla across the top of the 18-yard box. Asprilla made a back-heel pass to move the ball along to Chara, whose left-footed shot from the top of the penalty area went into the upper left corner of the net, leaving RSL goalkeeper Zac MacMath no chance.
Rusnak pulled Salt Lake within a goal in the 40th minute. Jonathan Menendez made a drop pass for Rusnak in the penalty area and he moved back toward the top of the box before putting a low, left-footed shot just inside the right post.
The Timbers restored their two-goal advantage in the 62nd minute as Sebastian Blanco, who came on as a substitute in the second half, lobbed a pass over the RSL back line for Mora. He took the ball at the top left of the 6-yard box, spun and put a shot just inside the right post.
Kreilach scored in the 80th minute to make it 3-2, taking a pass from Pablo Ruiz at the top of the penalty area and hammering a shot from 12 yards out over Ivavic.