PHOENIX — Pablo Sandoval and Brandon Crawford, two of San Francisco's oldest players, did not start Sunday's game.
By the time it was over, they had made the two biggest plays, allowing the Giants to leave the desert with a series win.
Sandoval opened the 10th inning with a pinch-hit homer after Crawford made a game-saving stop at shortstop in the ninth, helping the Giants beat the Arizona Diamondbacks 3-2.
"You have to be prepared for everything, that's the No. 1 rule," Sandoval said. "You have to be ready and take advantage of your opportunity."
The Giants opened the three-game series with a loss Friday night, but rallied for two wins with plenty of help from the 32-year-old Sandoval.
Kung Fu Panda had a pinch-hit solo homer in San Francisco's 8-5 win Saturday and sat on the bench Sunday, waiting for his turn again.
It came in the 10th against Yoshihisa Hirano (1-2). Down two strikes, Sandoval looked for a pitch he could hit hard and got it, sending an outside fastball over the wall in left.
Sandoval has 40 RBIs at Chase Field, his most in any opposing ballpark.
"It's amazing what he's doing," Giants manager Bruce Bochy said. "You just expect good things to happen, the way he's been."
The Giants scored two runs off Robbie Ray in the third, but went 20 straight at-bats without a baserunner until Mac Williamson walked with two outs in the ninth. Sandoval's hit was San Francisco's first since Donovan Solano's single with no outs in the third.
Will Smith struck out the side for his 12th save in 12 opportunities.
Crawford made it all possible.
The Diamondbacks appeared to have the game won when Adam Jones hit a grounder into the shortstop hole off Sam Dyson (2-0) with a runner on third with two outs in the ninth.
Crawford showed he's still got good range at 32, diving to his right and hopping up to make a throw that beat Jones by a step to save the Giants.
"Crawford has been doing that for a long time to a lot of guys," said Arizona manager Torey Lovullo, whose team finished with three hits. "Just kind of stabbed us there and I felt that momentum shift over their way, especially when that solo home run happened."
Ray had been on a roll, entering 3-0 with a 1.98 ERA and 35 strikeouts in 35 1/3 innings. He had command issues against the Giants, needing 29 pitches just to strand runners at second and third in the first inning.
Ray walked in a run in the third and another came across on Kevin Pillar's groundout. The left-hander allowed two runs on three hits and walked four in four innings. He struck out six.
"Today they made me grind, some really good at-bats," Ray said. "I felt my fastball command was pretty good. It was just my off-speed stuff they were laying off of."
San Francisco's Drew Pomeranz was reinstated from the 10-day injured list Sunday after missing nine games with a left arm strain.
He had some control issues of his own — two walks and a hit batter in the second inning — but didn't give up a hit until David Peralta's leadoff infield single in the fourth.
Nick Ahmed followed with a run-scoring double and Christian Walker scored from third on a pitch that caromed off home plate umpire Joe West's mask.
Pomeranz allowed two runs on two hits and walked five in 4 2/3 innings.
"The stuff was good," Bochy said. "It was up a tick, but I thought he had good stuff and he found a way to get out of it."
Diamondbacks: 2B Wilmer Flores left in the fourth inning after getting hit on the right foot by a pitch in the third. Ketel Marte moved from centre field to second base and Jarrod Dyson entered in centre. He missed Saturday's game with a left hand injury after being hit while attempting to bunt the day before. ... Peralta went 2 for 3 after being held out of Saturday's game with upper back pain.
Giants: LHP Andrew Suarez will be recalled from Triple-A Sacramento to start Monday against Atlanta. He went 7-13 with a 4.49 ERA in 29 starts for the Giants last season, but did not make the rotation coming out of spring training this year.
Diamondbacks: RHP Luke Weaver is 3-0 with a 0.98 ERA in his past three road starts heading into Monday's game against San Diego.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP_Sports