The Hawks won their third in a row, limiting the Cavaliers to 14 points in the final period.
Cleveland took a 94-93 lead with 3:01 to play on a layup by Kyrie Irving and did not manage another point.
Teague put the Hawks in front for good with 2:31 remaining and finished with 27 points. He made three of Atlanta's 11 3-pointers and hit 11-of-19 from the field.
Cleveland, which had won two in a row for the first time this season, lost for the seventh time in nine games. Irving paced the Cavaliers with 28 points and Dion Waiters had 18.