Pablo Sandoval and Nick Hundley also homered for the Giants, who won their fifth straight while snapping the Diamondbacks' winning streak at three.
After Ketel Marte's two-run double gave Arizona a 2-0 lead in the top of the fourth, the Giants needed just six pitches to get even. McCutchen belted Zack Godley's fourth offering of the inning into the bleachers in left field, followed two pitches later by Crawford's blast to left-center.
The homers were the fifth and seventh of the season, respectively, for McCutchen and Crawford.
Pinch hitter Alen Hanson and Buster Posey added two-run doubles before inning's end, making it a 7-2 game and sending Godley to an early shower.
Godley (5-5) went just 3 1/3 innings, allowing seven runs and five hits. He walked two and struck out three.
Giants starter Derek Holland left for a pinch hitter in the fourth and thus did not qualify for the win. He allowed two runs and four hits in four innings, walking one and striking out five.
Four Giants relievers backed Holland with five innings of one-run relief. Pierce Johnson (3-2), the third Giants pitcher, got the win after going two shutout innings, striking out two.
Sandoval had three hits while Posey and Crawford had two apiece for the Giants, who improved to 4-0 on their six-game homestand.
Sandoval, Posey and Hanson drove in two runs each, while Sandoval and Crawford scored twice apiece.
The home run was Sandoval's third of the season. Hundley's homer, which came in a pinch-hitting role, was his sixth of the year.
Marte's double was one of just two extra-bases hits for the Diamondbacks, who were opening a six-game trip after a 5-1 homestand.
Jake Lamb drove in Arizona's third run with an eighth-inning single.
The Diamondbacks, who were out-hit 11-7, have lost nine of their past 10 road games.
--Field Level Media
Arizona | San Francisco | |
Zack Godley | Player | Derek Holland |
Loss | W/L | No Decision |
3.1 | IP | 4.0 |
3 | Strikeouts | 5 |
5 | Hits | 4 |
18.90 | ERA | 4.50 |
Arizona | San Francisco | |
Paul Goldschmidt | Player | Pablo Sandoval |
1 | Hits | 3 |
0 | RBI | 2 |
0 | HR | 1 |
1 | TB | 6 |
.333 | Avg | .750 |
Team | Hits | HR | TB | Avg | LOB | K | RBI | BB | SB | Errors |
Arizona | 7 | 0 | 9 | .212 | 13 | 11 | 3 | 3 | 0 | 1 |
San Francisco | 11 | 4 | 26 | .324 | 12 | 8 | 9 | 3 | 0 | 0 |