Madison Bumgarner gave up just two infield singles while pitching into the ninth inning and the San Francisco Giants beat Arizona 4-1 on Sunday to take two straight from the Diamondbacks after a six-game losing streak.
Through eight innings, Bumgarner (9-4) allowed only Cody Ross' dribbler to the left of the mound in the second inning. Bumgarner left after an error by shortstop Brandon Crawford and then Ender Inciarte's single off the glove of third baseman Pablo Sandoval in the ninth.
The 24-year-old left-hander allowed an unearned run, striking out seven and walking two. No Arizona player reached second base until the ninth.
Sergio Romo gave up Martin Prado's RBI single but got his second save in two nights and his 22nd save in 26 opportunities.
Diamondbacks rookie Mike Bolsinger (1-3) allowed a run on five hits in 6 2/3 innings but got the loss.
The victory was only the third for the NL West-leading Giants in their last 12 games.
San Francisco led 1-0 through eight innings. The run scored when Tyler Colvin doubled home Crawford from first in the fifth inning. Colvin was out trying to stretch it to a triple on a superb relay throw by shortstop Didi Gregorius.
San Francisco tagged on three in the ninth, one when Joe Panik, in his first major league start, doubled for his first big league RBI. Buster Posey added an RBI double and Crawford singled in a run.
In the Arizona ninth, pinch-hitter Jordan Pacheco reached on Crawford's fielding error and Inciarte singled. Manager Bruce Bochy yanked Bumgarner, who was trying for his third career complete game.
Romo came on and gave up Prado's hit, then Paul Goldschmidt hit into a double play and Aaron Hill struck out to end it.
Bumgarner and Bolsinger each allowed one hit through four innings before the Giants broke through. Bolsinger retired the first 10 batters before Crawford drew a one-out walk and scored when Colvin's shot to center bounced past the diving center fielder Inciarte.
Inciarte got the ball to Gregorius, whose throw was landed in Prado's glove at the base just as Colvin got there.
After Ross' two-out hit in the second, Bumgarner struck out Roger Kieschnick to end the inning. The only other Arizona player to reach base through the first eight innings was Goldschmidt, who walked twice.
NOTES: The Giants have decided not to put OF Angel Pagan on the DL, at least for now. He has missed the last six games with back problems. … San Francisco returns home to face San Diego in the opener of a 10-game home stand. Matt Cain (1-5, 4.52 ERA) goes for San Francisco, Andrew Cashner (2-6, 2.46). … The Diamondbacks have Monday off and begin a two-game interleague series against Cleveland on Tuesday. … Arizona fell to 14-29 at home, including two season-opening losses to the Los Angeles Dodgers to open the season. … Diamondbacks rookie SS Chris Owings missed his second straight game with a sore ankle.