Diamondbacks 3, Braves 1: Paul Goldschmidt hit a two-run homer and Wade Miley snapped a nine-start winless streak as visiting Arizona ended Atlanta's nine-game winning streak.

Goldschmidt finished 2-for-3, including his 16th homer of the season in the third inning, as the Diamondbacks won for just the second time in their past seven games. Miley (4-7) was outstanding in winning for the first time since May 10, giving up one run on five hits with eight strikeouts in 6 2/3 innings, and Addison Reed pitched the ninth for his 20th save.

Atlanta starter Alex Wood (6-7) gave up two runs on three hits in seven innings as the Braves finished their homestand at 5-1. Chris Johnson drove in Atlanta's only run with a fourth-inning single and Andrelton Simmons finished 2-for-4, extending his hitting streak to seven games.

Wood walked Miley leading off the third and retired the next two hitters, but Goldschmidt jumped on a 0-1 pitch and hammered it into the left-field seats to give Arizona a 2-0 advantage. The Braves drew within 2-1 in the fourth, when Justin Upton drew a leadoff walk and later scored on Johnson's single to center.

Miley retired the next 10 hitters before Christian Bethancourt singled with two outs in the seventh, but reliever Evan Marshall struck out B.J. Upton to end the inning with runners on first and second. Brad Ziegler struck out Johnson with runners on second and third to end the eighth, and pinch-hitter Nick Evans doubled home Martin Prado in the ninth to make it 3-1.

GAME NOTEBOOK: Miley punched a water cooler in the dugout after Arizona manager Kirk Gibson pulled him from the game. … The Diamondbacks traded RHP Brandon McCarthy to the New York Yankees for LHP Vidal Nuno. … B.J. Upton went 0-for-4 with three strikeouts, ending his hitting streak at a career-best 11 games.