Zach Collins scored 16 points and Seth Curry added a season-best 13, including three key 3-pointers early in the fourth quarter, as Portland held off the league’s top team for a 128-122 victory.
Curry and Collins both played pivotal roles off a Blazers bench that outscored Toronto’s reserves 58-26.
“It was good to see everybody get back into a rhythm, and just finally have fun for once,” Collins said. “You know, it’s been a while since we’ve gone out there and just played the game and had fun.”
Damian Lillard had 24 points as the Blazers stopped a two-game slide.
Kawhi Leonard returned after missing two games and scored 28 for the Raptors (23-8), who played without All-Star point guard Kyle Lowry. Danny Green added 19 points and 11 rebounds, matching his season high with five 3s.
Lowry sat out with a left thigh bruise. Fred VanVleet started in his place and finished with 21 points.
Portland led by 16 in the fourth but Leonard and C.J. Miles made consecutive 3s to pull the Raptors to 117-113 with 2:44 left.
Lillard hit a 3-pointer for Portland before Leonard had another 3 and VanVleet made a layup to get Toronto to 120-118. CJ McCollum and Al Farouq-Aminu answered with consecutive 3s to extend Portland’s lead to 126-118 with just under a minute to go. Leonard dunked on the other end, but the Raptors couldn’t get any closer.
“We got it right where we needed to at the start of the fourth but then it was like a one-minute barrage where we had to climb back uphill again and we almost did it,” Raptors coach Nick Nurse said. “We went into sellout mode and just about got it.”
Portland was in first place in the Western Conference after beating Washington on the road back on Nov. 18 to improve to 11-5. But the team lost eight of 11 going into Friday night’s game to tumble into ninth in the conference.
The Raptors, meanwhile, had lost just three previous games on the road this season.
“The whole bench — let’s face it, they’ve struggled,” Blazers coach Terry Stotts said. “I thought all five of those guys played with a little bit of confidence, a little bit of emotion. That was good.”
Lowry led the Raptors with 23 points in a 113-93 win over Golden State on Wednesday. The victory was costly, however. Jonas Valanciunas dislocated his thumb in the game and required surgery. He will be in a cast for the next four weeks. Valanciunas was averaging 12.8 points and 7.2 rebounds a game.
Portland was coming off a pair of losses on the road to Houston and Memphis.
The Blazers went up 42-31 in the first half after Meyers Leonard’s alley-oop dunk from Evan Turner. Portland led by as many as 13 and went into the break in front 58-50.
Leonard, who was 0 for 5 from the field in the first half, had eight points to open the third quarter and his jumper got the Raptors to 59-64. But he picked up his fourth foul later in the period and went to the bench for a while.
OG Anunoby’s jumper closed the Raptors to 82-80 but Collins answered with a 3-pointer for the Blazers. After Portland had a 91-89 edge going into the fourth, Curry made a pair of 3-pointers and the Blazers pushed the lead to 101-90.
Curry hit another 3 to give Portland a 107-93 advantage.
Raptors: Former Oregon Ducks forward Chris Boucher was called up from the G-League on Thursday. He will help fill the void created by Valanciunas’ absence. … It was the third of a four-game road trip for Toronto.
Trail Blazers: The victory snapped a six-game Portland losing streak to the Raptors. … It was Portland’s third straight win at home. … There was a sizable contingent of Raptors fans displaying several Canadian flags at the Moda Center. One group sang along loudly to the Canadian national anthem before the game.
SHAKING OFF THE RUST
Leonard on weathering his slow start: “I missed my first few shots but stuff like that shows you what kind of player you are and how much you believe in your game. I believe in myself and we still had a game to win so I just had to keep being aggressive for me and my teammates. I knew the shots would fall.”
Leonard missed the previous two games with a bruised right hip.
Raptors: Play at Denver on Sunday.
Trail Blazers: Portland has a one-game road trip to play the Los Angeles Clippers on Monday.