PORTLAND, Ore. -- Near the end, when the Cleveland Cavaliers had squandered all of a 19-point lead and fallen behind, Kyrie Irving came to the rescue.
The second-year point guard scored 31 points, and Cleveland held off a late Portland rally to win 93-88 Wednesday night at the Rose Garden.
Irving scored eight straight points down the stretch as the Cavaliers (10-31) won after losing their first three games on their five-game road trip.
Tristan Thompson added 19 points and 14 rebounds for Cleveland.
Portland (20-19) lost its fourth consecutive game despite having all five starters score in double figures. Nicolas Batum had 23 points and 12 rebounds but also nine turnovers.
Damian Lillard's step-back 18-footer with 2:07 remaining gave the Trail Blazers an 86-85 lead with 2:07 to play -- their first advantage since the game's early going.
Irving came back with two baskets, and the Cavaliers sewed up the win with four straight free throws in the closing seconds.
"The last thing we had written on the board (pregame) was composure," Cleveland coach Byron Scott said. "We had that in the latter part of the game. We knew at the end we had to defend, and we were able to do that the last couple of minutes."
Irving scored 15 points in the first quarter and 10 in the final period, sinking 13 of 24 shots from the field to go with five assists, four steals and three rebounds in 39 minutes.
"I like him aggressive, period," Scott said. "He's trying to figure out how to be an aggressive player for us and still get his guys involved. When he's aggressive, he's pushing the ball and he's in attack mode. Our guys feed off of that as well."
Scott used 6-foot-6 small forward Alonzo Gee to defend Lillard, and it worked splendidly. The Rookie of the Year candidate didn't make a basket until early in the fourth quarter, and he finished with 13 points on 3-for-9 shooting.
"Any time somebody picks you up full-court and denies you the ball, it's tougher," Lillard said. "I just played the game. I didn't try to force anything."
Down by 17 at halftime, Portland charged back quickly with a 10-2 run capped by J.J. Hickson's fast-break dunk and three-point play to cut Cleveland's edge to 55-46.
Soon it was 60-53, but the Cavaliers regrouped and took a 74-65 advantage into the fourth quarter.
Cleveland went more than six minutes without a field goal in the final period, but Irving's twisting drive pushed the margin to 83-80 with 3:21 remaining.
A Batum tip-in cut the Cavaliers' lead to 83-82 with 2:25 left, and Lillard's 18-footer pushed the Blazers in front 86-85.
Irving's 20-footer put Cleveland back on top 87-86 with 1:50 left. Thompson missed two foul shots with 1:10 to go, but the Blazers turned it over at the other end. Irving came back to hit a bank shot from 10 feet, and the Cavaliers were ahead 89-86 with 26.5 seconds remaining.
LaMarcus Aldridge's short jumper made it 89-88 with 22.4 seconds left, but Irving's two free throws gave Cleveland a 91-88 lead with 19.7 seconds to go.
Hickson was fouled but missed two foul shots with 14.9 seconds remaining, and when the Cavaliers' Tyler Zeller converted a pair at the other end, it was over.
"They played harder than us, just outplayed us," said Portland's Wesley Matthews, who had 17 points and six rebounds. "No excuses. They played better than us for a half, and we couldn't get out of the hole."
NOTES: Lillard missed his first five shots, finally getting a field goal on a driving layup with 10:36 left in the game. ... Portland has lost four straight games by six points or fewer after winning the previous four games by six points or fewer. ... The Blazers shot .392 from the field, going under 40 percent for the fourth game in a row. ... Scott said the Cavaliers miss forward Anderson Varejao, lost for the past 15 games and now out at least another six weeks following knee surgery. "We know we can count on him for a lot of rebounds a game, plus it allows you to put him on a great player like (Aldridge)," Scott said. "On both ends of the floor, not having Andy really hurts us."