Damian Lillard had 29 points and the Trail Blazers trailed by as many as 23 points in the first half before rallying in the fourth quarter to beat the Charlotte Hornets 102-100 on Tuesday night.
Charlotte's Gary Neal made a layup at the final buzzer that would have sent the game into overtime, but the refs reversed the call after a review.
LaMarcus Aldridge added 25 points and 14 rebounds for the Blazers, who have won four of their last five games and improved to 5-1 at the Moda Center.
Al Jefferson scored 22 points, while Lance Stephenson had 14 points and 14 rebounds for the Hornets.
Portland rallied in the final period. Lillard's 3-pointer and Aldridge's 10-foot turnaround jumper narrowed it to 92-90 with 5:11 left.
The Blazers took their first lead of the game, 97-96, on Steve Blake's 3-pointer with 3:04 left. Portland stayed in front, going up 102-98 with 14.3 seconds left. After Neal made a layup, Charlotte got the ball with 3.5 seconds left.
It appeared that Neal hit another layup at the buzzer to tie it at 102, but on review it was determined that the ball did not leave his hands in time.
The Blazers were without Nicolas Batum, who injured his knee on Sunday in the final minutes of Portland's 116-110 victory at home over the Nuggets.
An MRI revealed that Batum has a right knee contusion, which will also keep him out of Wednesday night's game at Denver and Saturday night's game against the Nets.
Still sore and unable to bend the knee very much, Batum said he hoped to return next Monday when the Blazers host the Pelicans.
"I'm glad I won't have surgery or be out for months," he said earlier on Tuesday.
Alan Crabbe, a second-year player out of Cal, made his first NBA start in Batum's place.
Charlotte took an early 27-15 lead after a 14-2 run that was capped by Cody Zeller's basket with 2:39 to go in the first quarter.
Brian Roberts hit a layup to give the Hornets a 48-27 lead. Portland narrowed the margin to 64-51 at the half after Aldridge's layup before time ran out.
Aldridge also scored a jumper to open the second half, but the Hornets kept the Blazers from getting too close. Zeller tossed up a floater that gave Charlotte a 78-64 lead.
The Blazers closed to within 85-75 heading into the fourth quarter.
The Hornets were coming off a 107-92 loss to the Los Angeles Lakers on Sunday night.
Hornets: The Hornets' 35 first-quarter points were a season high. The 64 points at the half were also a season best. ... Jefferson has scored at least 20 points in six straight games.
Trail Blazers: Batum played in all 82 games last season. ... The Blazers have a 19-6 advantage over Charlotte in Portland. ... The Moda Center was lit up in red, white and blue for Veteran's Day.
The Hornets visit the Phoenix Suns on Friday night.
The Trail Blazers visit the Denver Nuggets on Wednesday night.