Terrence Ross had 10 of his season-high 20 points in the fourth quarter for Orlando.
DeMar DeRozan scored 21 for the Spurs, who shot 50.6 percent from the field but gave up 64 points in the second half.
A flagrant foul call helped the Magic maintain their lead in the final seconds.
After Trey Lyles' 3-pointer cut Orlando's advantage to 107-106 with 18 seconds left, Aaron Gordon drew a foul on DeRozan with 13.9 seconds remaining that was upgraded to a flagrant after a replay review. Gordon made the free throws and the Magic kept the ball, enabling Nikola Vucevic to add another foul shot for a four-point edge.
A 3-pointer by Bryn Forbes with 4:17 left in the second quarter put San Antonio up 50-34, the largest lead for either team.
The Spurs shot 53 percent in the first half and led 56-47 at halftime.
Orlando ran off 12 straight points early in the third quarter and took a 69-66 lead on a 3 by Fournier.
Spurs: Dejounte Murray played 21 minutes but will sit out Saturday night against Portland, part of the plan for his recovery from knee surgery a year ago. ... Aldridge missed all six of his shots in the first half.
Magic: F Jonathan Isaac did not play after rolling his right ankle Thursday night during the unveiling of the Magic's City-Edition uniforms at Disney World. "We were taking pictures, just shooting around and I got a little careless," said Isaac, the first Orlando starter to miss a game this season. He hopes to play Sunday against Washington. ... F Al-Farouq Aminu grabbed 13 rebounds in his first start for the Magic. ... G Michael Carter-Williams was called for three fouls in 13 seconds late in the first quarter. ... Vucevic shot 4 for 16.
Spurs: Host the Portland Trail Blazers on Saturday night.
Magic: Host the Washington Wizards on Sunday night.