Atlanta had all five starters score in double figures. Jeff Teague had 19 points, Al Horford added 18 and DeMarre Carroll finished with 17.
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.
PELICANS 131, BULLS 128, 3OT
CHICAGO • Jrue Holiday made a three-point play with 2.6 seconds remaining in the third overtime Monday night, giving the New Orleans Pelicans a 131-128 victory over the Chicago Bulls.
Holiday had 19 points and 12 assists for the Pelicans. He made an 18-footer with 3.9 seconds remaining in regulation to tie the score at 103 and force overtime.
Ryan Anderson had a career-high 36 points on 12-of-20 shooting, including 7 for 11 on 3-pointers. Eric Gordon added 23 points for New Orleans (9-8).
Luol Deng led the Bulls with 37 points and also had eight rebounds and seven assists.
TRAIL BLAZERS 106, PACERS 102
PORTLAND, Ore. • LaMarcus Aldridge had 28 points and 10 rebounds and to help Portland snap Indiana's seven-game winning.
Paul George had a career-high 43 points for Pacers (16-2), who own the NBA's best record.
The Blazers pulled in front until early in the fourth quarter but the Pacers kept it close, and George hit consecutive 3-pointers that narrowed it to 98-96 with 1:37 left. Damian Lillard answered with a 3-pointer and Nicolas Batum made a pair of free throws for the Blazers before George hit another 3-pointer that got Indiana within 103-99 with 21 seconds to go.
Lillard hit free throws and George made yet another 3 with 10 seconds to go to make it 105-102, but the Pacers couldn't get closer.
Lillard finished with 26 points for the Blazers, who have won 13 of their last 14 games.
WIZARDS 98, MAGIC 80
WASHINGTON • Trevor Ariza scored 24 points, John Wall had 16 points and 13 assists, and Washington beat Orlando to get to .500 for the first time since it split its first four games of the 2009-10 season.
Nene scored 14 points and Marcin Gortat finished with 13 for Washington (9-9).
With top scorer Bradley Beal out of the lineup for the fifth straight game, Ariza supplied the offense, hitting 8 of 9 from the field, including four 3-pointers.
Arron Afflalo scored 21 points for Orlando, and Victor Oladipo added 13 points and six rebounds.