The Knicks had lost a double-digit lead in the second half and the game was tied 82-82 when Anthony made his decisive intervention to lead New York to their third consecutive win.
D.J. Augustin missed a potential game-tying three-pointer in the final seconds for the Bobcats (2-7) as they fouled Anthony, who added another free throw to the score.
“A wide open three from our best shooter? I’ll take that,” Charlotte coach Paul Silas told reporters of Augustin’s miss.
“I really love the way we stuck in there and battled. We really gave ourselves a chance.”
New York (5-4) fell to Charlotte at home last Wednesday before embarking on their current streak.
Amar’e Stoudemire finished with 25 points and 12 rebounds despite making just 7-of-25 shots in what was a difficult shooting night for both teams.
Anthony connected on only six of his 18 field goal attempts but his accuracy improved when his team needed it the most.
The scoring forward made two layups to give the Knicks an 86-82 lead then made four free throws in the last 35 seconds to seal the game.
“I’m trying to get to the basket every time. And tonight I was able to get there, the shots just wasn’t falling,” Anthony said. “I’m pretty sure I’m capable of making those shots.”
Boris Diaw had a team-high 19 points and 10 rebounds for the Bobcats, who lost their third straight game.
Charlotte opened the contest on a 10-0 run but it was a short-lived advantage. The visitors trailed by 11 late in the third before clawing back to make it a nail-biter.
New York has regularly struggled defensively under fourth-year coach Mike D’Antoni, but they showed signs of life for a second straight game.
After holding Detroit to 80 points in a win on Sunday, the Knicks restricted the Bobcats to 41 percent shooting.
Tyson Chandler led the way with three blocks and three steals to go with his 20 points and 13 rebounds.
(Writing by Jahmal Corner in Los Angeles; Editing by John O’Brien)