ATLANTA (AP) Zack Greinke was on a roll and soon Arizona's bats followed.
Greinke allowed two runs in six innings, Brandon Drury hit a homer and the Diamondbacks snapped a six-game losing streak by beating the Atlanta Braves 7-2 on Friday night.
Greinke (3-2) struck out eight, matching his season high, including five straight in the second and third innings. That streak matched his career best.
''A nice, little five-batter stretch, that's for sure,'' Greinke said.
Greinke gave up seven hits and one walk and is 5-0 in his last seven road starts. He earned his first win in three career starts at Turner Field.
''Zack gave us the start we needed,'' manager Chip Hale said.
David Peralta had three hits and drove in a run, and Welington Castillo had a two-run single for Arizona in its highest-scoring game in almost two weeks. The Diamondbacks had been held to no more than four runs in each of their last nine games.
''The at-bats were good,'' Hale said. ''Obviously, we left some runs out there, but we're getting better.''
The Braves (7-21) have the worst record through 28 games in their franchise history since 1900. They are 1-13 at home.
''I don't know if there are any words to describe it,'' said first baseman Freddie Freeman, who had two hits. ''When you start 1-13 in front of your own fans at home, it's definitely not the start you want. We've got to pick it up and start playing better.''
The Braves' second error of the game set up Castillo's two-run single off Eric O'Flaherty in the ninth. Second baseman Kelly Johnson missed Jake Lamb's grounder that might have set up a double play. Instead, the ball bounced past Johnson's glove into center field for an error, leaving runners on second and third.
Atlanta rookie Aaron Blair (0-2) allowed three runs, two earned, in five innings. He walked four.
Jim Johnson replaced Blair and gave up the homer to Drury, a drive into the left-field seats, on his second pitch.
Drury began his career in the Braves' organization before he was included in the January 2013 trade that sent Justin Upton to Atlanta. All of his six homers have come in the last 17 games.
Braves catcher A.J. Pierzynski was ejected from the game by plate umpire Cory Blaser after arguing a called third strike to end the fourth inning. Pierzynski apparently thought the 3-2 pitch was low. He flipped his bat and turned to argue the call before he began to walk toward the Braves dugout. He was ejected as he continued the discussion while walking.
Braves manager Fredi Gonzalez came out of the dugout too late to save his catcher. Tyler Flowers replaced Pierzynski and had a run-scoring single in the Braves' two-run sixth.
Diamondbacks: RHP Josh Collmenter, on the 15-day DL with right shoulder inflammation, is scheduled to pitch for Class A Visalia on Saturday.
Braves: OF Ender Inciarte (strained left hamstring) was activated from the 15-day disabled list following the game. Inciarte, who began the season as the leadoff hitter and center fielder, was hurt in only his third game.
GARCIA SENT DOWN
To clear a spot for Inciarte, the Braves sent Adonis Garcia to Triple-A Gwinnett, where he will play left field. Garcia started in left field on Saturday night and was 1-for-4, leaving his batting average at .260. He started 22 games at third base and had seven errors, prompting the move to the outfield.
Diamondbacks: RHP Shelby Miller (0-3, 8.49 ERA) will face his former Braves teammates for the first time on Saturday night. Miller was traded to Arizona for Blair, top SS prospect Dansby Swanson and Inciarte. Miller has allowed 22 earned runs in 23 1/3 innings.
Braves: RHP Julio Teheran, who is 0-3 despite allowing two runs or fewer in three of his five starts, will look for his first win.