PORTLAND, Ore. -- CJ McCollum scored 30 points, including the go-ahead jumper with 9.6 seconds left to give the Portland Trail Blazers a 112-111 victory over the Toronto Raptors on Monday night.

Damian Lillard added 23 points and Carmelo Anthony scored 20 off the bench for the Blazers, who erased a 17-point deficit and overcame Pascal Siakam's first career triple-double of 22 points, 13 rebounds and 10 assists.

McCollum hit his clutch shot over Fred VanVleet off a spectacular series of dribble moves.

“I work on this stuff,” McCollum said. “I work on my game. I tell people all the time: `I've been ready.”'

Anthony had 13 points in the fourth quarter, including several big shots from right in front of Toronto's bench - where the Raptors made noise all night.

He relished the moment and the banter.

“Yeah, it's fun,” Anthony said. “You're going to hear it even more with no fans. You live for those moments. You want that pressure on you. (There's) nothing like making shots in front of the opposing team's bench as they are yelling at you.”

Siakam's potential game-winning shot rimmed out on the final play - for the second time in two nights. The same thing happened to him in a one-point loss Sunday to Golden State.

McCollum also thought he had something to do with Robert Covington's defence on Siakam's shot.

“I told (Covington) that Siakam felt like he had a matchup against him tonight and I think he took it personally,” McCollum said.

For the Raptors, it was yet another close loss that left them 2-8, tied for the worst record in the NBA.

“We fought hard to get wins and it came down to a couple of possessions,” Siakam said. “If we had made a couple of shots, we'd have a different record right now. But if you look at the record, it's tough.”

Portland starting centre Jusuf Nurkic went to the locker room in the first half with a bruised quadriceps and did not return. His replacement, Enes Kanter, did a solid job filling in with 14 points and six rebounds in 16 minutes off the bench.

Siakam gave the Raptors a 111-110 lead with 54 seconds left on a cutting layup. After an empty Blazers possession, VanVleet missed a jumper on the other end for Toronto before McCollum put Portland ahead.

Siakam was dominant early, racking up 12 points, seven rebounds and five assists in the first quarter, which he capped by hitting a jumper at the buzzer. Toronto held a 32-21 lead after the Blazers shot just 36% in the period.

The Raptors pushed their lead to 52-35 in the second quarter, but Portland closed the half on a 20-8 run and trailed 60-55 at the break.

Kanter gave the Blazers their first lead at 61-60 in the third quarter, but the Raptors answered and led 86-76 heading into the fourth.

Siakam picked up his fifth foul while guarding McCollum with 6:37 remaining.

TIP-INS

Trail Blazers: Portland coach Terry Stotts was asked before the game about the bench pairing of Kanter and Anthony, particularly on the defensive end. “I look at the net rating rather than offensive and defensive rating,” Stotts said. “The last four or five game they've been a net positive. There's been a lot of conversation about that. I think Enes and Melo have played really well together the last five games.”

Raptors: Relying on a smaller unit again, coach Nick Nurse benched starting centre Alex Len for the entire second half. Fellow big man Aron Baynes did not play. Toronto began the day ranked 18th in the NBA in defensive rating, but held Stephen Curry to 2-for-16 shooting Sunday night against Golden State. According to Nurse, part of that was going small - but he hopes to find more time for Len and Baynes while still playing solid defence. “Our last six quarters of defence are what we're used to,” Nurse said before Monday's game. “Maybe it's some other factors, but it seems to me the small lineup has given us a chance to play that way. But again, we have to figure something out with those guys on the floor.”

UP NEXT

Trail Blazers: Play on Wednesday at Sacramento, where they beat the Kings on Saturday by 26 points.

Raptors: Return to Tampa, Florida, where they will face the Charlotte Hornets on Thursday for the first in a stretch of five straight games.