Wesley Matthews added 24 points for the Blazers (32-11), who snapped a two-game losing streak coming off a 2-2 road trip. The Blazers have not lost three straight this season.
Wilson Chandler had 18 points for Denver (20-21), which has lost four of their last five games after a five-game winning streak.
The Blazers trailed by as many as 15 points in the third quarter, but chipped away at Denver's lead to pull to 91-90 on Wesley Matthews' turnaround fadeaway before taking the lead on his 15-foot jumper.
The teams wrestled for control, but Aldridge's jumper put Portland up a 102-99 with 3:08 left.
Chandler and Timofey Mozgov made consecutive baskets to regain the lead for Denver, and it was back-and-forth until Aldridge made four consecutive free throws to shouts of "M-V-P," from the Portland crowd, giving the Blazers a 108-105 lead.
Chandler missed a jumper with 8 seconds left and Aldridge made more free throws for the final margin. The two-time All-Star, who came in a disappointing fifth among Western Conference frontcourt players in All-Star voting, made eight straight free throws to close the game.
Blazers owner Paul Allen addressed the media at halftime, talking on a wide range of topics including a contract extension for Aldridge, which the team will consider "at the appropriate time.
Kenneth Faried got two quick fouls early in the game and had to sit, but the Nuggets still led 30-28 at the end of the first quarter, paced by Anthony Randolph off the bench.
Nate Robinson's 3-pointer stretched Denver's lead to 44-37, and the Nuggets went on to lead by as many as 12 points in the second quarter.
Portland went on a 9-0 run to close to 51-48, but Denver held on to 67-59 lead at the half.
Randy Foye hit a 3-pointer early in the third quarter to stretch Denver's lead to 78-63. The Nuggets led 91-86 heading to the fourth.
Earlier in the day, Aldridge and teammate Damian Lillard were named to the 2014-16 U.S. men's national team pool, the first step toward making the Olympic team. Faried was also invited.
The All-Star team starters were also announced before Thursday night's game. Aldridge finished fifth in fan voting among Western Conference frontcourt Blazers, while Lillard finished seventh among guards. Both players will have a chance to make the team if they are selected by the league's coaches.
NOTES: The Blazers defeated the Nuggets 113-98 in Denver their first meeting of the season on Nov. 1. ... Portland is the only team to have used the same starting lineup all season. ... The Nuggets announced earlier this week that forward Danilo Gallinari will miss the rest of the season after undergoing a second surgery on his left knee. Gallinari averaged 16.2 points per game last season for Denver. ... Actor Billy Dee Williams was at the game.