PORTLAND, Ore. — CJ McCollum's floater bounced several times around the rim as the crowd seemed to hold a collective breath.
It finally fell in with 5.9 seconds left, giving the Portland Trail Blazers a 111-110 victory over the San Antonio Spurs on Sunday night with both teams short-handed.
"It didn't want to go in. I think that's karma for all the in-and-outs I've missed all year. So I was due for one," McCollum said. "I got a good look so I can live with that even if it rolls out. That's the shot I practice over and over again."
McCollum finished with 25 points and Maurice Harkless added 19 off the bench for the Blazers, who were without starter Damian Lillard. It was Portland's fifth win in seven games, and third straight victory at home.
BOX SCORE: Blazers 111, Spurs 110
Former Blazer LaMarcus Aldridge had 30 points and 14 rebounds, while Manu Ginobili added 26 points, including six 3-pointers, for the Spurs.
Trailing by as many as 12 points in the third quarter, Portland rallied to lead 101-94 on Harkless' 3-pointer with 5:37 left. But Ginobili's 3 gave the Spurs a 105-103 lead with 2:48 left. He added another to extend the lead to 108-105.
McCollum's layup with 1:11 to go gave the Blazers back a one-point edge, but he missed an off-balance jumper that would have given Portland some cushion.
After Kyle Anderson's free throws put San Antonio in front, McCollum came through with his floater that gave Portland the winning margin. Aldridge missed a jumper from out front as time ran out.
Afterward, Aldridge took responsibility.
"I definitely have to be better. I think this one is on me," he said. "I missed two free throws and then I rushed the last shot. The team did a really good job of putting us in that position, working hard. I think this one is definitely on me tonight."
VIDEO HIGHLIGHTS: Blazers edge Spurs at home, 111-110
Spurs forward Kawhi Leonard sat out because of a partial tear in his left shoulder, coach Gregg Popovich revealed before the game. Leonard sustained the injury during the Spurs' 103-89 win Friday over the Phoenix Suns.
"It's too bad because he was starting to get back into form a little bit after playing a couple of games," Popovich told reporters. The coach said the Spurs would monitor the injury over the coming days, and there was no official word about how serious it was.
The game against the Suns was just Leonard's eighth appearance of the season after missing the first 27 games with right quadriceps tendinopathy.
"It's disappointing, we need him," Ginobili said. "He started to feel better, to feel good and then we lose him for a few games and we don't know how many."
The Spurs also didn't have Rudy Gay (right heel) and Danny Green (groin tightness). Tony Parker also did not play. San Antonio plays again on Monday against the Sacramento Kings.
The Blazers were without Lillard because of a right calf strain. Lillard missed four games because of a strained right hamstring but played in the last two, despite being bothered by his calf.
Lillard leads the Blazers with 24.9 points and 6.3 assists per game. Shabazz Napier started in his place.
Napier helped spark Portland at the start and the game was tied at 27 to start the second quarter.
The Spurs led 53-48 at the half, led by Aldridge with 15 points. Jusuf Nurkic had 11 for Portland.
San Antonio extended the lead to 69-57 after Aldridge's layup.
The Blazers rallied and took an 80-77 lead on Napier's basket near the end of the third quarter but Davis Bertans hit a 3 to pull San Antonio back into a tie to open the fourth.
Napier, who continues to impress with his passing, finished with 15 points and seven assists.
Spurs: San Antonio won the opening game of this season's series with the Blazers 93-91 in Portland on Dec. 20. The third of the three meetings will be in San Antonio on April 7. ... Aldridge played his first nine NBA seasons with the Blazers.
Trail Blazers: Nurkic had his ninth double-double of the season. He finished with 17 points and 13 rebounds.
AGE IS JUST A NUMBER
Ginobili became the first player in his 40s to score 15-plus points in back-to-back games since Michael Jordan in 2002-03, according to the Spurs.
"It's been a tough season. We're still hanging out, hanging in, hanging on. We're doing OK I guess. That's why losses like this hurt more. It was such a great effort and it just slipped away," Ginobili said.
The Trail Blazers visit the Oklahoma City Thunder on Tuesday.