Atlanta survived a three-point barrage in the fourth quarter by Ben Gordon, who was denied the ball in the closing seconds as Charlotte fumbled away a chance at victory.
The last of Gordon's five 3-pointers in the final quarter brought the Bobcats within one with 30 seconds to go and they regained the ball with 5 seconds left.
Charlotte's Ramon Sessions then threw the ball away and he was forced to foul Horford, who made both his free throws for the final points of the game.
A 3-point attempt by Byron Mullens failed to go just before the buzzer, leaving the Hawks with their sixth straight win. It is Atlanta's longest stretch of victories in two years.
Josh Smith, Lou Williams and Horford all scored 17 points. Gordon led Charlotte with 26 and Sessions had 18.
The Bobcats were coming off the worst loss in franchise history, a 45-point setback against Oklahoma City on Monday.
Rosie O'Donnell unveils nearly 50-pound weight loss
Putin thinks Obama would save him if he were drowning