Duncan finished with 23 points and 21 rebounds as San Antonio dominated the middle against the younger Atlanta front court. Boris Diaw had 16 points and Tiago Splitter finished with 11.
Jeff Teague had 19 points, Al Horford added 18 and DeMarre Carroll finished with 17 for Atlanta.
The Hawks trailed 98-94 when Paul Millsap made a 3-pointer over Diaw with 17.5 seconds remaining. Manu Ginobili then made a pair of free throws for the Spurs, but Teague drained a 3 over Kawhi Leonard to tie it at 100 with 4.7 seconds left.
Curling off a pick, Duncan drained a jumper near the free-throw line to put San Antonio ahead to stay. Millsap’s desperation jumper hit the side of the backboard.
Tony Parker added 15 points for the Spurs. Marco Belinelli had 13 and Ginobili finished with 10.
There were 20 lead changes and 17 ties in a game with almost identical schemes as Atlanta is coached by former longtime San Antonio assistant Mike Budenholzer.
The Spurs returned to their ball-sharing ways after struggling in a loss to Houston.
Nine of the 10 Spurs who played in the first half scored. Danny Green didn’t score until there was 2:54 remaining in the game, but it proved to be a critical basket. He drained a jumper just before the shot clock expired to give San Antonio a 94-87 lead.
NOTES: Budenholzer received a loud ovation from the crowd during pregame introductions. He spent 19 seasons with San Antonio, including the previous 17 years as an assistant with the team. . Diaw played with his two fingers heavily taped after dislocating his left middle finger during San Antonio’s loss to Houston on Saturday . Spurs G Cory Joseph and P Aron Baynes were recalled Monday from the NBA Developmental League team in Austin.