Teheran (9-5) logged his fourth consecutive start of allowing one or fewer runs, holding the Nationals to a single tally on four hits, walking two and striking out four.
Luis Avilan and Jordan Walden each provided a scoreless relief inning and Craig Kimbrel struck out the side in the ninth for his 35th save as the Braves extended the longest winning streak in the majors this season.
Evan Gattis delivered a go-ahead, two-run single in the fifth for National League East-leading Atlanta, which moved 14 1/2 games ahead of second-place Washington.
Gio Gonzalez (7-5) took the loss, yielding two runs on six hits over seven full innings.
Bryce Harper homered for the Nats.