Teheran (4-2) retired the first 11 batters, striking out six, before losing his bid for a perfect game with a walk to Andrew McCutcheon in the fourth. He issued another walk in the fifth the Pirates had base-runners in the sixth, when Starling Marte was hit by a pitch, and seventh, when Neil Walker was hit by a pitch -- but the no-hitter was intact until pinch-hitter Brandon Inge lined a clean single to left with two outs in the eighth.
Teheran got the final out of the inning but didn't pitch the ninth, when David Carpenter retired the side in order.
Atlanta extended its winning streak to five games, backing Teheran with an attack that included two home runs and three runs scored on force outs.
Andrelton Simmons and Jason Heyward opened the bottom of the first with singles for the Braves. Simmons then scored on Chris Johnson's grounder. Pittsburgh starter Wandy Rodriguez (6-4) faced only one more batter -- hitting Freddie Freeman -- and left the game with tightness in his throwing arm.
Evan Gattis and Gerald Laird hit back-to-back home runs for Atlanta in the sixth. After Heyward and Johnson led off the seventh with singles, Freemen and Dan Uggla were credited with RBI on force outs.