The Hawks built a 14-point lead in the second period and spent the rest of the game holding off the Pacers, who lost their second straight after winning a season-best six in a row.
Indiana was within one when Stackhouse hit his free throws with 22 seconds left. After Danny Granger missed a 3-point try for the Pacers, Williams converted two foul shots to put the game away.
Josh Smith led the Hawks with 27 points, Jannero Pargo added 16 and Zaza Pachulia had 12 points and 10 rebounds. It was Atlanta's third straight win and came in the opener of a six-game road trip.
Indiana got 24 points from David West and 19 from Granger.