Jason Heyward added a two-run homer and Chris Johnson had three hits as the Braves completed a four-game sweep of the Rockies. The Braves outscored the Rockies 31-5 in the last three games of the series.
Atlanta's 7-0 homestand also included three wins over St. Louis.
The Rockies were without outfielders Michael Cuddyer and Carlos Gonzalez. The middle of their lineup took another hit when Troy Tulowitzki was ejected in the second inning.
The NL East-leading Braves stretched their lead over Washington to 11½ games.
Teheran (8-5) struck out the side in the third and fifth innings. He lasted only five innings, allowing one run and five hits and two walks, in his third straight start of allowing no more than one run.
Colorado's Chad Bettis (0-1), called up from Double-A Tulsa for his major league debut, allowed five runs and six hits and five walks in five innings.
Rockies manager Walt Weiss said Cuddyer was away on a family emergency. Gonzalez was held out after aggravating his sprained right middle finger on Wednesday night.
The Braves led 2-0 before Bettis recorded his first out. Heyward walked and Upton followed with a homer, his first since July 9. Upton added a three-run shot off Edgmer Escalona in the eighth. Escalona gave up five runs while getting only one out.
Teheran had two hits, including a second-inning double to drive in Andrelton Simmons. Teheran singled to lead off the fourth and scored on Heyward's homer.
Colorado loaded the bases in the first when Dexter Fowler walked, Corey Dickerson beat out a dribbler to the mound and, with one out, Wilin Rosario had another infield single. Teheran ended the inning by striking out Todd Helton and Nolan Arenado — each on three pitches.
The Rockies' frustrations continued in the second when they managed only one run after again loading the bases with one out. Charlie Blackmon doubled and had to hold up before seeing DJ LeMahieu's double could not be caught by Upton in right field.
Fowler walked with one out, loading the bases, before Upton made a leaping catch of Dickerson's fly ball in front of the wall. Blackmon scored on the play.
Tulowitzki took a called third strike on a slow curveball from Teheran to end the inning. As his teammates began to take their defensive positions, Tulowitzki remained at home plate, arguing the call with umpire Marvin Hudson. First base coach Rene Lachemann attempted to intervene, but Tulowitzki was ejected by Hudson.
With two strikeouts in his two innings, Tulowitzki was 0 for 12 in the series.
Jonathan Herrera, who replaced Tulowitzki, drove in LeMahieu with a single in the seventh.