Bonner's jumper gave the Spurs a four-point cushion but Ray Allen hit a 3-pointer for the Celtics with 44 seconds left.
San Antonio's Danny Green then missed a 3-point try at the end of the shot clock, giving Boston plenty of time to set up a potential game-winning attempt. Pierce, however, could not shake free from Duncan and was forced to toss up a well-contested effort.
Green scored 14 points for the Spurs, who won despite hitting just 41 percent of their field goal attempts. Gary Neal had 13 while both Duncan and Bonner had 10.
San Antonio took an 11-point halftime lead but then scored just nine points in the third quarter.
Boston, which had won five in a row overall, remained 1 1/2 games in front of Philadelphia for the lead in the Atlantic Division.
Selena Gomez drops F-bomb, walks off stage during Jingle Ball performance
Exploding whale video goes viral on Internet