Phoenix led 52-48 at halftime, but Curry and Barnes combined for 20 points in the third quarter to send the Warriors into the final period with an 81-74 advantage.
Golden State extended its lead with three quick baskets to open the fourth, including a 3-pointer from Curry, who also stole the ball and fed Jack for a layup that forced the Suns to call a timeout.
"Those guards are snipers and if you make any mistake defensively they make you pay," Suns coach Lindsey Hunter said. "They made us pay. Those guys shot the lights out."
The Suns went nearly three minutes without scoring in the quarter, falling behind 90-74.
Dragic converted a three-point play early in the third quarter to give Phoenix a 58-48 lead.
That's when Curry and Barnes heated up, leading the Warriors on a 32-12 surge that gave Golden State an 81-70 edge entering the final minute of the third.
NOTES: It was the 13th consecutive home sellout for Golden State. ... The Suns have beaten the Warriors more times (85) than any other NBA team. ... Suns C Marcin Gortat had seven rebounds in the first quarter and two more the rest of the game. ... The Suns have the fewest road victories (four) in the Western Conference. ... The Warriors reached their 30th win the earliest, calendar-wise, since the 1975-76 team started 30-9.