Thompson finished with 22 points and seven assists, nearly matching Curry's 27 and 10. David Lee added 18 points and eight rebounds for the Warriors.
Toronto led 75-48 with 9:20 left in the third quarter and took an 18-point lead into the fourth.
Golden State made eight 3s over the final 12 minutes, the last coming from Harrison Barnes with 47.2 seconds remaining to give the Warriors a 109-103 lead.
DeMar DeRozan had 26 points to pace Toronto, which lost its fourth straight. Kyle Lowry added 20 points and nine assists despite being knocked out of the game briefly following a collision with Golden State center Andrew Bogut.
Coach Mark Jackson's team was down and nearly out before storming back.
The Raptors scored 65 points in the first half and were scoring almost at will against a Golden State defense that had allowed 100 points or more in six straight games. Toronto made it seven despite scoring just nine points over the final 8:45.
That cold snap opened the door for the Warriors' biggest comeback of the season and extended the Raptors' losing streak in Oakland to nine games.
Curry nearly brought his team back in record-breaking fashion. He made three 3-pointers and needs three more to break Jason Richardson's franchise record of 700.
He got plenty of support draining 3s.
Thompson went 6 of 12 from beyond the arc, Barnes added two and Draymond Green had one.
Barnes finished with 19 points, while Jermaine O'Neal added 11 points and eight rebounds off the bench.
The Warriors were sloppy on both ends of the court in the first quarter when the Raptors built a 17-point lead.
Rudy Gay and Lowry had seven points apiece as part of a 22-5 run by Toronto. Lowry, who had 11 points in the opening 12 minutes, capped the streak with a buzzer-beating 3-pointer from 26 feet.
Barnes helped Golden State chip away at the lead. He scored nine of the team's first 11 points then added three free throws to pull the Warriors within 48-39.
Toronto's Steve Novak answered with three 3s in 97 seconds, Lowry added a driving layup and Toronto took a 65-48 halftime lead.
The Raptors were still comfortably ahead late in the third quarter when Lowry dropped to the floor after colliding with Bogut. Lowry lay in the key for several moments, then stood up and took a few steps before sitting back down on the court. He was eventually helped to his feet and walked slowly off the court with the help of a pair of Toronto assistants.
Lowry returned with 10:40 left in the fourth quarter — right in the middle of Golden State's best run of the night.