Lourdes Gurriel Jr. went 4-for-4 with a home run and two RBIs to lift the Arizona Diamondbacks past the host Philadelphia Phillies, 6-3, on Monday.
Gurriel also doubled in his eighth career four-hit game while extending his hitting streak to 15 games.
Pavin Smith hit a solo home run and Geraldo Perdomo added a two-run double for the Diamondbacks, who have won three straight.
Arizona starter Tommy Henry (2-1) gave up four hits and two runs with five strikeouts and two walks in 5 2/3 innings.
Andrew Chafin threw a scoreless ninth inning for his seventh save in nine chances.
Kyle Schwarber and Bryson Stott each hit a solo home run for the Phillies, who had their two-game winning streak snapped.
Trea Turner contributed an RBI single.
Phillies starter Zack Wheeler (3-4) tossed six innings and allowed eight hits and four runs (three earned) with three strikeouts and one walk.
Gurriel lined an RBI double down the right field line for a 5-3 Arizona lead in the eighth inning.
The Diamondbacks tacked on a sixth run when Kody Clemens committed a fielding error in the ninth.
The Diamondbacks went ahead 1-0 in the second when Gurriel launched a solo homer to left center.
Arizona then loaded the bases and Perdomo hit a two-run double to right. Smith then hit a fly ball to center and Dalton Guthrie threw out Gabriel Moreno, who was trying to score.
The Phillies closed within 3-2 in the fourth when Schwarber and Stott hit their home runs.
The Diamondbacks quickly reclaimed a two-run advantage in the fifth when Smith connected on a fastball for a solo shot.
Stott drew a leadoff walk in the bottom of the seventh and pinch hitter Brandon Marsh struck out looking. Clemens then pinch-hit for Guthrie and singled to center.
Turner hit an 0-2 pitch for an RBI single to right to cut the deficit to 4-3. Nick Castellanos struck out, Bryce Harper was intentionally walked to load the bases and J.T. Realmuto flied out to center to end the threat.
--Field Level Media