Cleveland remained unbeaten since dropping its opener at Chicago and matched its best start through nine games at 8-1, largely with a defensive effort that limited the Knicks to 12 points in the final 12 minutes.
"Certain games are going to predict itself and you've got to be able to defend at a high level on the defensive end and then make timely shots, and we did that," James said.
Williams scored Cleveland's final six points and finished with 20. The veteran might be on the bench in situations like Friday once Kyrie Irving is healthy, but for now the Cavs are glad they had him on the floor.
"I just went with the flow of the game and let it dictate what I had to do," Williams said.
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, who didn't have enough guys who could make a play when Anthony could no longer do it for them.
"They have a lot of guys who understand how to just play one possession at a time. We're still learning," Knicks coach Derek Fisher.
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 held Anthony to 1-for-9 shooting in the second half.
"Some games you've got to win without your fastball, and this was one of those games and a big part of that was what we did on the defensive end," Cavs coach David Blatt said.
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 and finished 3 for 10. ... 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.
PRAYERS FOR PARIS
James has been to France and offered his condolences to the victims of the attacks there Friday.
"Our world right now is having so many different tragedies, so many different innocent people and victims are losing lives over nonsense, and hopefully at some point in time people will realize that's not the way to live," he said.
PLAYERS WATCHING PLAYERS
The crowd included tennis player Caroline 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.
Indiana takes road win streak into matchup with Houston
Indiana Pacers (25-28, ninth in the Eastern Conference) vs. Houston Rockets (14-40, 14th in the Western Conference)
Charlotte faces Cleveland, looks to end home skid
Cleveland Cavaliers (19-34, 13th in the Eastern Conference) vs. Charlotte Hornets (27-26, seventh in the Eastern Conference)
Boston puts road win streak on the line against Los Angeles
Boston Celtics (29-26, fifth in the Eastern Conference) vs. Los Angeles Lakers (34-21, fifth in the Western Conference)