PORTLAND, Ore. - Karl-Anthony Towns' jump hook with 1.8 seconds left propelled the Minnesota Timberwolves to a 106-105 victory over the Portland Trail Blazers Saturday night at the Moda Center.

Damian Lillard's four-point play had given the Trail Blazers a 105-104 lead with 3.5 seconds left. After a timeout, Minnesota inbounded the ball to Towns on the post, who scored over Portland's Al-Farouq Aminu.

Portland had no timeouts remaining, and Lillard's desperation heave was far off the mark as time expired.

More from FoxSports

Towns scored 27 points and grabbed nine rebounds for the Timberwolves (28-52), who won their third straight game for the first time since late November. Andrew Wiggins added 23 points for Minnesota.

Lillard finished with 31 points and seven assists for Portland (43-38), which lost for the second time in eight games. CJ McCollum collected 21 points and seven assists and Mason Plumlee contributed 15 points and 15 rebounds for the Blazers.

Wiggins had 12 points to help stake Minnesota to a 53-49 halftime lead. Lillard had 11 points for Portland at the break.

Lillard's 3 gave Portland a 66-65 lead midway through the third quarter, and the teams battled back and forth, with the Timberwolves taking a 75-72 lead into the final period.

Minnesota was on top 101-93 after a Zach Levine layup with 2:09 left before Portland scored six straight points. Plumlee sank a hook shot, McCollum converted a pair at the line and Lillard scored on a drive to cut the margin to 101-99 with 1:01 to play.

Wiggins made 1 of 2 at the line to make it 102-99 with 42.6 seconds to go. Portland couldn't get the ball in bounds, and was called for a five-second violation, but an offensive foul by Wiggins gave the Blazers the ball back with 22.6 seconds left.

Lillard scored on a drive to cut the difference to 102-101 with 13.3 seconds on the clock.

Levine's two free throws upped the Timberwolves' advantage to 104-101 with 7.6 ticks left. After a timeout, Lillard scored what the Blazers hoped were the game-winning points. Towns had other ideas.

Portland jumped to a 24-14 lead behind Lillard, who had nine quick points, and Plumlee, who had six points and seven rebounds in the game's first six minutes. The Blazers settled for a 28-21 advantage going into the second quarter.

The Timberwolves rallied to tie it at 34-34 behind Towns, who was scoreless in the first quarter but had nine points in the first four minutes of the second period. The Wolves went ahead 42-38, and carried a four-point edge into the half.

NOTES: Portland F Ed Davis was named the 2015-16 recipient of the team's Maurice Lucas Award given to the player who best represents the spirit of the former All-Star power forward, who died of cancer in 2010. "Being a power forward, doing all the dirty work, being a great teammate ? Ed embodies it as much as any player since I've been here," fourth-year coach Terry Stotts said. ... In his last five games, Portland F Al-Farouq Aminu has had the two highest-scoring games of his six-year NBA career ? 28 points against Boston on March 31 and 27 vs. Oklahoma City on April 6. In his last seven games, Aminu has averaged 16.2 points on .500 shooting, including 19 for 40 (.475) from 3-point range. ... Portland G Damian Lillard calls Minnesota's Karl-Anthony Towns "the best rookie by far. He could be an All-Star next year." ... The Timberwolves entered the game having lost eight straight at Portland dating to March 2012.