Carlos Arroyo missed one of two free throws that would have tied the game with 15 seconds left.
Marvin Williams, who had 19 points, made two free throws to seal the victory.
Dwight Howard had 30 points, 11 rebounds and four blocks for Orlando, while Adonal Foyle added 11 points and J.J. Redick scored 10.
The Magic survived a third-quarter scare when Rashard Lewis went down holding his leg, but the team said he had just cramped. Lewis scored eight points and grabbed four rebounds before getting hurt. He did not return.
Josh Smith led Atlanta with 22 points and 11 rebounds, while Joe Johnson and Josh Childress chipped in 12. Rookie Al Horford had nine points and seven rebounds in his return to Florida.
The Hawks couldn't solve Howard's size or newfound range, but he sat most of the fourth quarter. The 6-foot-11 All-Star worked all offseason on extending his offensive game, and it seemed to pay off. Howard made a handful of mid-range jumpers and even went 4-for-6 from the free throw line.
The Magic were 1-3 against the Hawks last season.