LeBron James scored 31 points, Mo Williams made a tiebreaking jumper with 41 seconds left and the Cleveland Cavaliers beat the New York Knicks 90-84 on Friday night for their eighth straight victory.
Cleveland remained unbeaten since dropping its opener at Chicago and matched its best start through nine games at 8-1.
Williams scored Cleveland's final six points and finished with 20.
Carmelo Anthony scored 26 for the Knicks, but 22 came in the first half and his only field goal in the second half was a follow dunk as James kept his friend in check when it mattered.
Arron Afflalo had 14 points for the Knicks.
Just as in their first meeting this season, when the Cavaliers rallied for a 96-86 victory in Cleveland on Nov. 4, the Knicks built an early lead that the Cavs chipped away at. The Cavs couldn't pull away this time, but made enough plays at the finish and relied on a solid defensive effort that held the Knicks to 12 points in the final 12 minutes.
James scored six straight to give Cleveland an 84-82 lead, but Afflalo quickly tied it on a turnaround jumper with 59 seconds left. Williams then nailed a jumper, and after Afflalo missed on the other end, Williams finished it off with four free throws.
Cavaliers: The Cavaliers also started 8-1 during the 1976-77 season. ... Former Knicks guard J.R. Smith made consecutive 3-pointers to open the game, but then had only one more basket. ... Cleveland opened a three-game road trip
Knicks: There was a moment of silence before the game for former Knicks draft pick Michael Wright and longtime NBA executive Gordon "Scotty" Stirling, who both died this week, along with the victims of the attacks in Paris.
PLAYERS WATCHING PLAYERS
The crowd included tennis player Carolina Wozniacki, New York Mets pitcher Noah Syndergaard and Knicks Hall of Famer Willis Reed, who posed for a picture with James and Anthony before the game.
THE SIGNAGE STAYS
As the Cavaliers prepared for their morning shootaround, a worker removed DraftKings signage from the court, believing it was a national TV game — the NBA has a deal with rival daily fantasy site FanDuel. However, the game was being locally televised, so the signage was put back.
Cavaliers: Visit Milwaukee on Saturday night.
Knicks: Host New Orleans on Sunday.