The Warriors trailed for almost the entire game and were still behind by six heading into the final two minutes, but rallied behind the clutch shooting of Curry.
Curry hit a 3-pointer with 1:16 left and was fouled on the play. His ensuing free throw brought the Warriors within two points.
With the game tied, both Curry and Ellis missed jump shots, leaving the Warriors with the ball and a chance to win it in regulation.
Curry came through to deliver the last of his 33 points and Jose Calderon missed a running 3-point try for Dallas just before the buzzer.
Harrison Barnes added 17 points for the Warriors and David Lee had 15 points and 11 rebounds.
Ellis and Dirk Nowitzki both had 21 points for the Mavericks.