James scored 31 points to help the Cavaliers bounce back from a loss to Atlanta Wednesday that ended their four-game winning streak.
Charlotte had won its two previous games, including an improbable road victory over Boston. The Bobcats were trying for their first three-game winning streak of the season.
The Bobcats' Richard Felton hit a three-point shot with 21 seconds left in regulation to force the first extra period and Cleveland's Damon Jones scored the final two points in the initial overtime with a minute to play.
Charlotte scored the first basket of the second overtime, but James then hit a three-pointer that touched off the 9-0 run that put the game away.
Reindeer recovered after escaping from Santa during lighting ceremony
Selena Gomez drops F-bomb, walks off stage during Jingle Ball performance