Teheran began the night with the lowest run support in the major leagues, but the two-time All-Star used a rare offensive outburst by Atlanta to earn his first home victory since last Oct. 2, a span of 14 starts.
The Braves, who rank last in runs, used six hits to take a 5-0 lead off journeyman Edwin Jackson in a five-run third. Adonis Garcia, Freddie Freeman, Jace Peterson and Swanson had RBI singles. Tyler Flowers added a sacrifice fly.
Teheran (4-9) allowed six hits and two runs and struck out eight in seven innings.
Jackson (3-5) allowed seven hits, five runs and three walks in 2 2/3 innings.