Updated

James Johnson hit a 3-pointer at the buzzer as Sacramento survived a furious comeback by New York to take a 106-105 victory on Friday.

Johnson finished the game with 17 points and seven rebounds, and Marcus Thornton gave 18 points while DeMarcus Cousins scored 15 to go with 10 rebounds and five assists for the Kings, who have won two of their last three.

"I hope we come together more as a family now," Thornton remarked. "Hopefully we string some wins after this."

J.R. Smith scored a game-high 28 points with seven rebounds and five assists for the Knicks, who have dropped two of their last three. Chris Copeland had 23 points, while Tyson Chandler donated 21 points and 18 boards.

After blowing a 27-point lead, the Kings appeared to be on their way to a loss after Copeland made a jumper with under three minutes to play for a 105-101 lead.

For the next 2 1/2 minutes, though, neither team could put any points on the board until Isaiah Thomas hit a pair of free throws with 33.2 second to play for a 105-103 contest.

A bad pass by Jason Kidd was then picked off by Cousins, but both Thomas and Johnson missed potential game-tying baskets.

Thomas then grabbed the offensive board off of Johnson's miss and the ball was passed around the horn. From the deep right corner, John Salmons passed it back to the top and Johnson let go with a shot just beyond the arc as time expired and it was good for the win.

"It was a contested three," Kidd said of the final shot. "We have to live with that."

The Kings had held a 27-point lead late in the first half and took a 71-50 lead into intermission, but the Knicks slowly chipped away at their deficit and a 13-2 run to close the third quarter saw the Kings hold just an 87-81 advantage going into the fourth.

New York kept right on going and made it a one-point game as Kidd set up Steve Novak with an alley-oop slam and followed that with a 3-pointer to make it a 91-90 contest.

Kidd later buried another 3-pointer to give New York its first lead since early in the first quarter while Copeland followed with a three-point play for a 100-95 lead with 5 1/2 minutes left in the game.

Game Notes

Sacramento hosts Boston on Sunday ... New York next plays on New Year's Day when it will host Portland ... New York won both games against Sacramento last season ... Kidd finished the game with 16 points, seven assists and six rebounds ... Knicks forward Carmelo Anthony missed his second straight game with a hyperextended left knee.