Updated

PHOENIX (AP) Zack Godley pitched six effective innings and the Arizona Diamondbacks intentionally loaded the bases to get out of a seventh-inning jam and beat the San Francisco Giants 2-1 on Wednesday night.

Godley (5-1) was sharp in his last start before heading to the bullpen, allowing a run on three hits.

Jarrod Saltalamacchia homered for the second straight game, a two-run shot off Chris Heston (11-10), and Ender Inciarte had three hits.

The Diamondbacks took a bit of a gamble in the seventh, intentionally walking Buster Posey with runners on the corners to avoid facing the NL's third-leading hitter. Randall Delgado got Angel Pagan to pop out to end the inning.

Brad Ziegler retired the final five hitters for his 23rd straight save and 25th overall.

The Giants had five hits and went 0 for 10 with runners in scoring position in their ninth loss in 12 road games.

Godley was making his last start of the season before being shifted to the bullpen to limit his innings. He was sharp after struggling his last start - six runs in 3 2-3 innings - before hitting pinch-hitter Alejandro De Aza on the foot with a curveball to open the sixth inning. Arizona manager Chip Hale lifted him after 65 pitches and the Giants scored a run in the inning on Andrew Chafin's wild pitch.

Heston had a strong start to the season, including the first no-hitter by a Giants rookie in 103 years against the New York Mets on June 9.

The right-hander started to struggle once August rolled around, going 0-4 with a 5.28 ERA. He pitched well the last time out but had his winless streak stretched to six games after the Giants scored one run against Colorado.

Heston breezed through the first three innings before David Peralta led off the fourth with a ground-rule double. Saltalamacchia followed with a two-run homer to the deepest part of the ballpark in center.

Heston was lifted after intentionally walking Paul Goldschmidt - his team-record 25th of the season - with two outs in the fifth inning. Heston allowed two runs on five hits and struck five.

TRAINER'S ROOM

Giants: RHP Matt Cain, who's been out with elbow nerve irritation, is expected to be activated from the DL on Thursday and work out of the bullpen.

Diamondbacks: C Wellington Castillo was scratched from the lineup with a sore left wrist, but was available to pinch hit. Saltalamacchia started in his place.

UP NEXT

Giants: RHP Jake Peavy will pitch against San Diego on Friday in San Francisco after the Giants get a day off on Thursday.

Diamondbacks: Arizona has a day off before LHP Robbie Ray pitches the opener of a three-game series against the Los Angeles Dodgers.