0205 GMT July 19, 2019
Shabazz Napier added 21 points and Bosnian big man Jusuf Nurkic had 20 for the Trail Blazers (22-18), who edged ahead of the host Thunder (22-19) for fifth place in the Western Conference, AFP reported.
Damian Lillard missed his second game in a row with a strained right calf, Napier starting in his place.
"That was a big win. It was for fifth place," McCollum said. "Damian will be coming back any day now. We've got to keep the ship afloat until he gets back."
McCollum sparked a Portland surge in the third quarter that kept Oklahoma City at bay the rest of the way.
"I just try to play at my pace, let the game come to me and when I have to take a big shot I'm not afraid of it," McCollum said.
"Guys did a great job of setting me screens and I was able to get to the middle."
Russell Westbrook and Paul George each had 22 points to lead the Thunder, with Westbrook adding game highs of 12 assists and nine rebounds, while Carmelo Anthony contributed 19 points and New Zealand center Steven Adams had 16 in a losing cause.
In a thriller at Toronto, Miami's Wayne Ellington scored inside with 0.3 of a second remaining to give the Heat a 90-89 victory.
Back-to-back baskets by DeMar DeRozan gave the host Raptors an 87-86 edge with two minutes to play, but Miami's Goran Dragic answered on a driving layup with 19 seconds remaining to lift the Heat ahead 88-87.
But DeRozan, who led the Raptors with 25 points, wasn't finished yet. He answered by tipping in his own miss with three seconds remaining to put the Raptors in front again, setting up Ellington's clutch heroics.
Slovenian guard Dragic led Miami with 24 points and 12 rebounds while Ellington had 15 points off the bench, Heat reserve Bam Adebayo added 16 and Hassan Whiteside had 13 points and 15 rebounds.
Spanish forward Serge Ibaka of Toronto and Miami forward James Johnson were ejected for throwing punches at each other during a third-quarter altercation that began when the two began wrestling with each other.
The Raptors fell to 28-11, second in the Eastern Conference and three games behind Boston, while Miami climbed to 23-17, matching Washington for fourth in the East.
Elsewhere, German star Dirk Nowitzki and Dennis Smith Jr. each scored 20 points to power the Dallas Mavericks over visiting Orlando 114-99.
Nowitzki played in his 1,435th NBA game, all with the Mavericks, moving past Karl Malone into second on the all-time list of most games with one club, just 69 games behind John Stockton's record.
Malone and Stockton set their marks with the Utah Jazz.
Aaron Gordon came off the Magic bench to lead Orlando with 19 points.
At Los Angeles, Julius Randle had 22 points, 14 rebounds and six assists while Lonzo Ball added five points, 11 rebounds, 11 assists and five steals as the host Lakers defeated Sacramento 99-86.
Serbian reserve guard Bogdan Bogdanovich led the Kings with 19 points.