With 1:16 left to play in the second half, Cavaliers forward LeBron James hit a jump shot over Knicks forward Carmelo Anthony to give the Cavs a 86-84 lead. The two-point advantage was Cleveland's first of the second half and completely erased New York's 10-point lead.
On the Knicks' next possession, Arron Afflalo hit shot of his own to tie the game at 86 apiece. The Cavs responded in turn when Mo Williams hit a jumper to give the Cavs the lead once again. After Afflalo missed on the other end, Tristan Thompson grabbed the rebounded and passed to Williams before the Knicks could foul him and send him to the free throw line.
Williams quickly called a timeout and after the Cavs advanced the ball past halfcourt with another timeout - Thompson's pass to Williams technically counted as ball advancement - Williams was fouled upon receiving the Cavs' inbounds pass. He subsequently hit two free throws to seal the Cavs' 90-84 lead in New York. The win is Cleveland's eighth straight since losing on opening night to the Chicago Bulls.
The Cavs were able to set up their late push by holding the Knicks scoreless for almost four minutes before Afflalo scored the Knicks' final two points. They likely needed to too - for the night, the Cavs shot 42.3 percent from the field and 21.4 percent from three. A big part of the Cavs' struggles was Kevin Love finishing with just seven points on 2-10 shooting.
LeBron led all scorers with 31 points - 12 of which came in the fourth quarter - and also dished out six assists. Williams added 20 points of his own. Williams and James combined to score all but three of the Cavs' 24 fourth quarter points. Anthony led the Knicks with 26 points, while rookie Kristaps Porzingis added 11.
The Cavs play again tomorrow against the Milwaukee Bucks as part of a mini three-game road trip that concludes Tuesday in Detroit. Tipoff is at 8:30 p.m. from the Bradley Center in Milwaukee.