In a game of huge performances on both sides, the Knicks overcame a career-best 54-point show by Stephen Curry.
Curry scored the last of his points from the foul line with 2:05 remaining to bring about a 105-105 tie. Smith's jumper with 1:10 to go gave the Knicks the lead and another basket from Carmelo Anthony with 46 seconds left closed out the scoring. The Warriors missed their final three shots and turned the ball over twice down the stretch.
Anthony scored 35 points, Smith had 26 and Tyson Chandler contributed 28 rebounds, the most he has ever had in an NBA game.
Curry went 18-of-28 from the field and made all seven of his foul shots. He hit an astonishing 11-of-13 from 3-point range while adding seven assists and six rebounds.
Golden State lost its second straight after winning three in a row.
Senate Democrats to pull all-nighter on climate change
Scarlett Johansson steps out with fiance after pregnancy reveal