The Warriors ended a six-game losing streak, their longest of the campaign.
Thompson had 21 of his 28 points in the first half and Curry added 11 assists to his 20 points. Golden State went 10-of-20 from 3-point range.
The Suns, whose 18 wins are the fewest in the Western Conference, were led by 20 points and 10 assists from Goran Dragic.
Phoenix has won just once in its last six games.