Miami played without star guard Dwyane Wade, who remained in the team hotel due to a cold.
Al Horford put Atlanta in front with 3:33 to play on a driving layup and the Hawks managed just two more points the rest of the way.
Allen's jumper with 1:28 to go lifted Miami in front at 91-89 and the Heat then benefited from two missed foul shots by Josh Smith with 65 seconds left.
LeBron James hit a jumper with 14 seconds to go that gave Miami a four-point cushion and all but wrapped up the game.
James led the way with 21 points, 11 rebounds and nine assists. Chris Bosh added 24 points and Allen had 17.
James collided with Atlanta's Josh Smith in the final minute of the first half and immediately limped to the locker room. He was back in action during the second half.
Atlanta was led by Jeff Teague with 20 points. Miami became the first team in the NBA this year with five victories.
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need
Exploding whale video goes viral on Internet