John Ryan Murphy and Ketel Marte combined to score four runs and drive in three for the Diamondbacks, who won two of three from the Giants to capture their fourth straight series to open the season.
The loss spoiled the major league debut of Giants left-hander Andrew Suarez, who was promoted from Triple-A Sacramento fill in for injured Johnny Cueto.
Suarez retired the first 10 Diamondbacks he faced until Marte singled with one out in the fourth and came home ahead of Goldschmidt's second home run of the season.
Murphy homered in the fifth inning for a 3-0 lead before the Giants rallied into a tie in the bottom of the inning. Andrew McCutchen knocked in a run with an infield out, and Buster Posey followed with a two-run homer, his second long ball of the season.
Arizona starter Robbie Ray was pulled at that point, having allowed five hits and three runs in 4 2/3 innings. He walked three and struck out six in a no-decision.
Suarez allowed a one-out double to Marte in the sixth before handing the ball off to Dyson, whose second pitch was bombed to deep center field by Goldschmidt for the go-ahead two-bagger.
Suarez (0-1) was charged with four runs on four hits in 5 1/3 innings. He struck out seven and did not walk a batter.
The Diamondbacks turned the game into a rout with a three-run seventh, Murphy and pinch hitter Daniel Descalso providing a run apiece with consecutive doubles, and Marte making it a 7-3 game with a two-out, RBI single.
Marte (three), Goldschmidt (two) and Murphy (two) combined for seven of Arizona's nine hits. Goldschmidt finished with three RBIs.
Five Diamondbacks relievers combined for 4 1/3 innings of one-hit, scoreless ball, with Fernando Salas (2-1) earning the win.
Posey had two hits for the Giants, who completed a 3-4 homestand.
--Field Level Media
Arizona | San Francisco | |
Robbie Ray | Player | Andrew Suarez |
No Decision | W/L | Loss |
4.2 | IP | 5.1 |
6 | Strikeouts | 7 |
5 | Hits | 4 |
5.79 | ERA | 6.75 |
Arizona | San Francisco | |
Ketel Marte | Player | Buster Posey |
3 | Hits | 2 |
1 | RBI | 2 |
0 | HR | 1 |
4 | TB | 5 |
.750 | Avg | .500 |
Team | Hits | HR | TB | Avg | LOB | K | RBI | BB | SB | Errors |
Arizona | 9 | 2 | 19 | .250 | 6 | 9 | 7 | 1 | 1 | 0 |
San Francisco | 6 | 1 | 10 | .188 | 12 | 10 | 3 | 4 | 0 | 0 |