C.J. McCollum added 26 points for the Trail Blazers, who were coming off a 23-point loss in New Orleans on Tuesday.
Aldridge had 19 points and seven rebounds after missing two games with a minor heart arrhythmia. He was cleared Wednesday morning and does not have any playing restrictions.
Kawhi Leonard had 34 points to lead San Antonio (52-15), which had won 11 of 12 entering the game but fell one game behind Golden State for the league’s best record.
Trailing 104-97 with 1:45 remaining, San Antonio closed within two points as Aldridge scored five consecutive points on a layup and a powerful dunk that led to a three-point play. After Leonard missed a short runner, McCollum made a pair of free throws to end the Spurs’ streak and give Portland a 106-102 lead.
Patty Mills then hit a 3-pointer from the right corner off a feed from Leonard, but Lillard made four straight free throws to seal the victory for the Trail Blazers.
Aldridge finished 9 for 24 from the field and played 32 minutes. He made his first two attempts, a 17-foot jumper and a 21-footer, drawing loud cheers from the sold-out crowd.
San Antonio raced to a 14-7 lead, but Portland went on an 11-2 run to quiet the crowd and keep the game within seven points throughout.
Leonard finished 12 for 21 from the field, including consecutive dunks, in scoring 30-plus points for the 25th time this season. The 6-foot-7 forward first sprinted in from the free-throw line for a one-handed stuff against Noah Vonleh and then spun under the basket for a dunk against the 7-foot Jusuf Nurkic.
Portland closed the third quarter on a 9-3 run in taking an 82-80 lead to set up their fourth-quarter heroics.
Trail Blazers: Lillard has scored 30 points in six of 11 games since returning from the All-Star break. … Portland was without F Ed Davis (left shoulder), C Festus Ezeli (left knee) and F Evan Turner (right hand). … Nurkic had 16 points after scoring just two against New Orleans on Tuesday. … The Blazers improved to 7-4 when Lillard, McCollum, Vonleh and Nurkic and Maurice Harkless start. … Portland is 80-83 against San Antonio overall after snapping a five-game skid against the Spurs.
Spurs: Aldridge has scored 1,000 points for a 10th straight season, joining LeBron James and Dwyane Wade as the only active players with that streak. … G Tony Parker missed his fourth straight game with back stiffness. The 34-year-old has missed 16 games this season after sitting out 10 games last year. … Leonard has scored in double figures in 94 straight games dating to Jan. 14, 2016.