San Antonio attempted 10 shots from the field in the extra period and missed them all while being outscored 5-1.
The Suns went just 2-of-9 from the field in overtime, taking the lead on Marcin Gortat's tip-in with 1:07 remaining. Jermaine O'Neal's jumper with 9.4 seconds remaining gave Phoenix a three-point lead.
San Antonio had a five-point advantage with 50 seconds left in the fourth period, but were outscored 8-3 the rest of the way. Johnson's tying 3-pointer came after Manu Ginobili had missed a free throw for the Spurs that would have clinched a win.
The Spurs lost at home for the third time this season. They have a 22-3 record on their own court, their previous loss having come on Nov. 19 against the Los Angeles Clippers.
'How to Train Your Dragon 2' releases 5-minute clip
Yosemite climber falls 30 feet, suffers major injuries