"It's one you hate to lose at home," San Francisco manager Bruce Bochy said. "These are the ones you're supposed to win and this one slipped away, especially when we come back the way we did -- guys did a great job on that."
San Francisco looked poised to claim a one-run win late in regulation, but Sandoval airmailed a throw to first base in the top of the eighth that allowed Gerardo Parra to score and tie the game at 5. Sandoval came up with a chance to redeem himself in the bottom of the frame with the bases loaded, but he flied out to right field to end the inning.
It's been a rough start to the season for Sandoval as he begins the final year of his current contract with the Giants. Through 10 games, he's batting just .132/.267/.237 with a homer, four RBIs, seven walks and seven strikeouts.
As for the game-changing error, Bochy said Sandoval looked a bit rushed as he tried to get the speedy Campana at first base.
"You just got to keep your poise," Bochy said. "He got in a rush mode there. Game on the line, he's got to be a bit more cautious. Speed, sure, it can affect an infielder when they're going down the line as quick as he gets down there, but you have to understand the situation. Hey, if you don't get him, you don't get him."
In the bottom of the eighth, Campana misplayed a routine -- albeit deep -- fly ball that allowed Brandon Crawford to reach second base. But Crawford was stranded on third to end the inning with Sandoval's popout, while Campana went on to deliver the game-winning RBI, a bloop hit to right field in the 10th that scored Cliff Pennington.
"I knew I just had to get a ball through the infield somehow," Campana said. "I got jammed and it got over his head, barely."
The D-backs roughed up San Francisco starter Ryan Vogelsong early but the veteran was able to calm down and turn in a solid effort. On the other end, the Giants' offense chased Arizona starter Randall Delgado off the mound early before jumping all over the bullpen.
Pennington opened the scoring with a two-run single to left field in the top of the second. Vogelsong had a tough time locating his pitches and faced seven batters in both the second and third innings before finally settling down.
Giants reliever David Huff got up in the bullpen as Vogelsong labored through the third inning, but he wasn't needed until the sixth as Vogelsong eventually found a groove. In all, he went five-plus innings, allowing four earned runs on seven hits and a walk while striking out five.
"I felt better the last couple innings," a clearly disappointed Vogelsong said. "Still not as crisp as I'd like to be, though."
After Brandon Hicks' RBI single cut San Francisco's deficit down to 2-1 in the bottom of the second, Arizona answered right back with two more runs. Catcher Miguel Montero drilled a pitch to the right-center-field gap to drive home Paul Goldschmidt and Martin Prado and give the D-backs a 4-1 lead.
Around the time Arizona's bats cooled down, San Francisco's heated up. The Giants started chipping away at the three-run deficit in the third, when Buster Posey hit a bunt single and collided with Goldschmidt's glove during a close play at first base, sending the All-Star catcher to the ground. Still, he was credited with the RBI after Angel Pagan, who has a 10-game hitting streak to start the year, scored from third base to make it 4-2.
Then came the Michael Morse show.
First, he belted a double to left field in the bottom of the fourth, coming around to score on Crawford's double the next at-bat. The next inning, he hit a towering shot to right-center that bounced off the tall brick wall, scoring Sandoval and Posey. With that, the Giants held a 5-4 lead.
After seeing the comeback effort crumble, the hot-hitting Morse (.400) said it was a hard one to lose.
"It was a tough game, man," Morse said. "It was a fight 'til the end. They wanted it as bad as we did. It was like a big boxing match out there."
Bochy also got a solid night of relief from his bullpen. Things got a bit hairy in the seventh when Arizona loaded the bases with no outs, but Jean Machi induced a big 1-2-3 double play before Javier Lopez struck out Montero to preserve the one-run lead and kill the rally.
Closer Sergio Romo pitched a scoreless ninth in his first appearance since April 2 and appeared to be grimacing in the dugout after his outing, but Bochy said it was just the result of a stomach bug that he's been dealing with lately. Still, Romo was able to get through the frame unscathed, needing just eight pitches to get three outs.
"Stomach virus. His stomach was cramping up on him," Bochy said. "Felt it warming up. Gave us a good inning, but that's what he was feeling out there."
Alex Espinoza is a contributor to MLB.com.
This story was not subject to the approval of Major League Baseball or its clubs.