Pinch hitter Alen Hanson's two-out, two-run homer in the bottom of the ninth off Diamondbacks closer Brad Boxberger tied the game at 4-4 and prompted extra innings.
McCutchen's double, his second of the game, came after Andrew Chafin (0-2), Arizona's fifth pitcher, had retired the first two batters he faced in the last of the 10th.
With first base open, Crawford worked a full count before coming through with his game-winner to right field.
Hunter Strickland (3-2) was credited with the win after surviving a shaky top of the 10th in which he walked two batters and stranded both baserunners in scoring position.
Having scored single runs on RBI doubles by Paul Goldschmidt in the fifth and sixth innings to go ahead 4-2, the Diamondbacks were one out from a regulation win before Hanson's dramatic homer. It came off Boxberger, who was seeking his 15th save.
Mac Williamson drew a one-out walk to set the stage for Hanson, who was pinch hitting for Austin Jackson. The homer was his fifth of the season.
Thanks to the combination of Jarrod Dyson and Goldschmidt, the Diamondbacks took control of the game in the middle innings.
With the score tied at 2-2, Dyson led off the fifth against Giants starter Chris Stratton with a single. Goldschmidt followed with his second of three doubles to center field, allowing the speedy Dyson to race home with the go-ahead run.
The same duo combined for a fourth Diamondbacks run in the sixth, when Dyson walked with two outs and Goldschmidt smacked his third double, this one to right field, making it 4-2.
Diamondbacks starter Clay Buchholz was pulled with a 4-2 lead after six innings. He allowed two runs and seven hits, walking one and striking out seven.
The Giants' runs off Buchholz came on Pablo Sandoval's fourth home run of the season, a solo shot in the first inning, and an RBI double by McCutchen that scored Joe Panik in the third to tie the game at 2-2.
In between, Daniel Descalso had given Arizona a 2-1 lead in the top of the third, lacing a two-run double that plated Dyson and Goldschmidt.
McCutchen, Crawford and Sandoval had two hits apiece for the Giants, who earned their first series win over the Diamondbacks after having lost a pair of 2-1 sets earlier this season.
Dyson scored three of Arizona's four runs while Goldschmidt had four of his club's 10 hits.
The loss was Arizona's 11th in its last 13 road games.
Stratton was pulled after four innings, having allowed three runs and seven hits. He walked two and struck out three.
--Field Level Media
Arizona | San Francisco | |
Clay Buchholz | Player | Chris Stratton |
No Decision | W/L | No Decision |
6.0 | IP | 4.0 |
7 | Strikeouts | 3 |
7 | Hits | 7 |
3.00 | ERA | 6.75 |
Arizona | San Francisco | |
Paul Goldschmidt | Player | Pablo Sandoval |
4 | Hits | 2 |
2 | RBI | 1 |
0 | HR | 1 |
7 | TB | 5 |
.800 | Avg | .400 |
Team | Hits | HR | TB | Avg | LOB | K | RBI | BB | SB | Errors |
Arizona | 10 | 0 | 14 | .263 | 22 | 13 | 4 | 6 | 2 | 0 |
San Francisco | 11 | 2 | 21 | .289 | 12 | 12 | 5 | 2 | 0 | 0 |