Updated

After finishing 19 straight save opportunities, J.J. Putz blew his second straight on Monday, and the San Francisco Giants went on to win the opener of a three-game set against the Arizona Diamondbacks, 9-8.

Marco Scutaro had three hits, including a game-winning single on a 2-2 cutter down the third-base line in the 10th inning against Bryan Shaw (1-5).

"He's one of those guys that comes to play every day," Giants manager Bruce Bochy said of Scutaro. "He knows how to play the game and I think he's made players around him better."

Sergio Romo (4-2) pitched a scoreless 10th inning to keep the game tied and earned the win.

The Diamondbacks erased a four-run deficit with two runs in the fifth and five runs in the sixth inning. But the Giants rallied for two runs in the eighth inning and Putz blew his second save in as many days in the ninth to send Arizona to its ninth loss in its last 11 games.

The Diamondbacks are now 11 1/2 games behind the Giants in the NL West.

The Giants rallied in the eighth inning with two outs to close within a run. Hector Sanchez and Brandon Crawford delivered back-to-back doubles and pinch- hitter Brandon Belt plated Crawford with a base hit to make the score 8-7.

San Francisco tied the game in the ninth after Scutaro whacked a leadoff double off the base of the left-field fence. Scutaro advanced to third when Pablo Sandoval grounded out and scored when Buster Posey ripped a double down the third-base line.

Brandon Crawford legged out an infield single to start the 10th inning. He advanced to second on a sacrifice and third on a ground out before Scutaro ripped a single down the third-base line to win the game.

San Francisco built an early four-run lead against Patrick Corbin in the first after Scutaro and Sandoval delivered one-out singles. Posey crushed a double off the base of the right-field wall to score Scutaro and Hunter Pence whacked a triple into the right-field gap to score two more. Hector Sanchez capped the rally with a base hit to score Pence.

Corbin recovered to hold the Giants to four runs on seven hits in five innings while striking out six.

Arizona started its comeback in the fifth when Miguel Montero singled and Chris Johnson hammered a 1-2 cutter into the left-field seats to cut San Francisco's lead to 4-2.

The Diamondbacks chased Barry Zito from the game when Justin Upton and Jason Kubel singled to start the sixth inning.

Barry Zito gave up four runs and seven hits with six strikeouts in five-plus innings.

Paul Goldschmidt greeted Guillermo Mota with a ground-rule double to bring Arizona within a run. After Montero struck out, Johnson lofted a long fly ball to left field to score Kubel, move Goldschmidt to third and tie the game.

After Cody Ransom worked a walk to put runners on the corners, Arizona began building a lead. Willie Bloomquist grounded a single through the left side to plate Goldschmidt. Chris Young and Aaron Hill followed with two more singles to expand Arizona's lead to three.

Pablo Sandoval rolled a single to right field to score Angel Pagan, who reached on a fielder's choice in the seventh, but the Diamondbacks quickly responded with a run in the eighth when Upton singled home Ryan Wheeler to make the score 8-5.

"We were in the hole early and we just kept fighting back and we got a pretty good lead and we just kept fighting towards the end," said Kubel. "It really does (stink) that we lost but we kept going."

Game Notes

San Francisco is a season-best 19 games over .500, the high point for the Giants since being 23 games over at the end of the 2010 season ... The Giants have won 13 of their last 17 games and 21 of their last 30 ... The Giants are 30-14 when facing an opposing left-handed pitcher ... The Giants have won 25 of their last 34 games against Arizona at AT&T Park ... The Giants have won Zito's last six starts ... Arizona went 5-for-17 with runners in scoring position and stranded eight ... San Francisco went 9-for-15 with runners in scoring position and left nine on base.