ATLANTA -- Julio Teheran wasn't concerned that Arizona scored 36 runs and had at least 15 hits in its last four games.
"I knew they've been doing really good," Teheran said. "I was trying to do pitch like I've been doing my last three starts and not worrying about they've been doing the games before."
Teheran pitched six strong innings, Cameron Maybin drove in two runs and the Atlanta Braves beat the Arizona Diamondbacks 3-2 on Friday night.
More from FoxSports
Atlanta got a solid outing from Teheran after their starters had gone 2-8 with a 6.02 ERA in the last 15 games.
The victory improved the Braves to 31-23 at home. They've won 12 of 19 at Turner Field. But they are last in the majors with 40 road losses.
Teheran (8-6) allowed three hits, one run and two walks with seven strikeouts. Compared to his struggles on the road this year, the right-hander has been dominant at Turner, going 6-1 with a 2.44 ERA in 12 home starts.
Teheran is 2-5 with a 6.75 ERA in 12 starts away from Atlanta.
Arizona manager Chip Hale credited Teheran with mixing his slider and elevating his fastball, particularly to keep right-handed batters off balance.
"We tried to do a good job laying off the elevated fast ball early and we did a better job as the game went on," Hale said. "There were a lot of well-struck balls, especially as the game got deeper, that were caught in the outfield."
The Diamondbacks, who had won 12 of 16, couldn't muster enough against Teheran or an Atlanta bullpen that's struggled all season.
Arizona starter Robbie Ray (3-8) allowed six hits, three runs and four walks in 4 1/3 innings. In six starts since the All-Star break, Ray is 0-4 with a 5.06 ERA.
Braves closer Arodys Vizcaino earned his third save in three chances with a perfect ninth. David Peralta grounded out, Wellington Castillo flew out and Jake Lamb struck out.
After taking a 2-0 lead in the third on back-to-back two-out RBI triples by Jace Peterson and Maybin, the Braves went ahead 3-0 in the fifth on Maybin's RBI single.
Arizona cut the lead to 3-1 in the sixth when Ender Inciarte singled, moved to second on a wild pitch and scored on Paul Goldschmidt's RBI double.
The Diamondbacks made it 3-2 in the eighth off David Aardsma on A.J. Pollock's RBI single.
Maybin made a highlight play in center field to end the seventh, running to his left and diving to catch Chris Owings' liner.
"I take a lot of pride on the defensive end, as much as I do in the box," Maybin said. "We were able to come up with some big two-out knocks. Any time you can score with two outs it's huge."
RHP Edwin Jackson, signed earlier in the day for the remainder of the season, is the 27th reliever on Atlanta's roster this year. Atlanta's bullpen ranked third-worst in the majors with a 4.24 ERA before the game.
Diamondbacks: OF David Peralta returned to the lineup after missing Wednesday's game with a tight quadriceps. Peralta began the night hitting .481 with 17 RBIs in his last 15 games. ... RF-3B Yasmany Tomas was out of the lineup for the second straight game with a strained calf. Manager Chip Hale said he should be ready to return on Saturday.
Braves: Manager Fredi Gonzalez said 1B Freddie Freeman could rejoin the team next week in San Diego. Freeman, out since Aug. 4 with a strained right oblique, will play a few games with Triple-A Gwinnett before his return. He has missed 39 games with injuries this year. ... 3B Hector Olivera, acquired in a trade that sent Alex Wood, Jim Johnson, Luis Avilan and Jose Peraza to the Los Angeles Dodgers last month, could make his major league debut next week. Olivera is still recovering from a hamstring injury.
Diamondbacks: RHP Patrick Corbin (2-3) is 1-0 and hasn't allowed a run in 10 career innings in one start and one relief appearance against Atlanta. In his last three starts overall, Corbin is 1-0 with a 4.73 ERA in his last three starts.
Braves: RHP Mike Foltzynewicz (4-3) will make his 13th career start and second against Arizona. In Atlanta's 9-8 loss at Phoenix on June 3, he allowed eight hits and four earned runs and didn't get a decision.