The Raptors attempted a title-winning shot, but Kyle Lowry's three-point try from the corner hit the side of the backboard at the buzzer.
The best-of-seven series resumes in the early hours of Friday night, live on Sky Sports, in Oakland with Toronto leading 3-2.
Curry finished with 31 points, eight rebounds and seven assists, though he hit just 10-of-23 shots from the floor and 5-of-14 from three-point range.
"Missed shots can't kill your confidence. I'm going to get my legs ready for Game 6 and take those same shots," Curry said. "I have whole lot [to give]. We know how hard it is. We gave ourselves a chance. It's doing to be a dogfight for 48 minutes. We'll be ready."
Thompson scored 26 points, and DeMarcus Cousins added 14 points for Golden State. Draymond Green had 10 points, 10 rebounds and eight assists.
Kevin Durant had 11 points and two rebounds for the Warriors before being helped from the court with 9:46 remaining in the first half with a lower right leg injury. He did not return. Durant had missed the previous nine games due to a calf strain.
Speaking in a televised post-game interview, Curry paid tribute to Durant's effort: "He sacrificed his body for us. I've got a lot of emotions right now."
Kawhi Leonard had 26 points - 12 in the fourth quarter - and 12 rebounds for the Raptors. Lowry added 18 points, Marc Gasol had 17, Serge Ibaka 15, Pascal Siakam 12 and Fred VanVleet 11.
The Warriors trailed by six with 2:30 to go before going on a 9-0 run that consisted of a pair of Thompson three-pointers and another from Curry.
Golden State overcame two goaltending calls on Cousins in the final 1:59, plus a halfcourt violation on Draymond Green and an offensive foul for a moving screen on Cousins with 14.9 seconds left, setting up the final possession.
The Warriors took a six-point lead into the fourth quarter after leading by as many as 14 in the third.
The Raptors cut the deficit to three points on Ibaka's dunk with eight minutes to play, and Leonard's put-back trimmed the margin to one.
Draymond Green's three-pointer had Golden State ahead by four, but Norman Powell's running dunk cut the deficit to two with 5:36 to go.
Toronto took a three-point lead on Leonard's three-pointer and followed by a jump shot with 4:46 to play. Leonard hit another three-pointer and added a pull-up jumper to give Toronto a six-point lead with 3:28 to play.
Thompson's triple trimmed the gap to three with 2:32 left.
Toronto were called for a shot-clock violation, and Curry tied the game at 103 with a three-pointer.
After Leonard's miss, Thompson came back with a three-pointer with 57.6 seconds remaining, and the Warriors led by three.
Lowry's lay-up cut the lead to one point with 29.9 seconds to play. Cousins was called for an offensive foul with 15.7 seconds to play, giving Toronto a chance, but Lowry missed his shot as time expired.
Game 6 takes place in Oakland in the early hours of Friday morning live on Sky Sports (2am)