The Phoenix Suns made just two baskets from the floor in overtime, but it was enough to lift them to a 105-101 upset triumph over the San Antonio Spurs.
The Spurs, returning home after a nine-game road trip, saw their 18-game home winning streak snapped.
The Suns' Wesley Johnson drained a three-pointer at the buzzer in regulation to force overtime and Marcin Gortat tipped in the go-ahead basket with 1:07 in the extra period to help lift Phoenix.
The Spurs, an NBA-leading 22-2 at home coming into the contest, missed all 10 of their field-goal attempts in overtime as they fell at home for the first time since a loss to the Los Angeles Clippers on November 19.
Jermaine O'Neal added 22 points and 13 rebounds for the Suns.
San Antonio's star point guard Tony Parker returned from a one-game absence due to a sore right triceps and scored 22 points with eight assists.
Phoenix trailed 97-92 with 49.9 seconds left in the fourth quarter after Parker hit a jump shot.
The Suns' Marcus Morris made a three-pointer, but Spurs veteran Tim Duncan answered with a jump shot to make it 99-95 with 11 seconds left.
Goran Dragic's jump shot narrowed the margin to two. After San Antonio's Manu Ginobili made one of two free throws with 3.7 seconds left, O'Neal grabbed the rebound and passed to Johnson who made the equalising three-pointer.