San Francisco, CA (SportsNetwork.com) - Brandon Crawford hit a two-run homer to back nearly eight innings of stellar pitching from Chris Heston, and San Francisco topped Arizona by a 4-1 count in the third edition of a four-game series.

Joe Panik collected three hits and drove in a run, while Buster Posey finished 2-for-4 with an RBI for the Giants, who were coming off Friday's 9-0 drubbing and put an eight-game losing streak to rest.

Heston (2-1) struck out six and allowed a run on five hits over 7 2/3 frames, with Sergio Romo recording the final out of the eighth and Santiago Casilla turning in a scoreless ninth to claim his fourth save.

David Peralta homered and Mark Trumbo had a pair of hits for the Diamondbacks, who had taken the first two in the set.

Rubby De La Rosa (2-1) gave up nine hits and four runs -- three earned -- over his 6 2/3-inning outing, striking out seven and walking two.

"We scored one run. That's not going to win many games," D-backs manager Chip Hale said.

Heston finally exited after giving up a two-out hit to Jake Lamb in the eighth, but Romo fanned Paul Goldschmidt swinging.

The hosts failed to pad their lead in the bottom half despite loading the bases on two singles and an error, and it could have cost them in the Arizona ninth.

Trumbo singled with one away and Casilla plunked Tuffy Gosewisch, yet Chris Owings grounded into a game-ending 6-4-3 double play.

The Giants picked up a run in their first chance at the plate, as Nori Aoki led off with a double and scored when Panik singled.

Posey's two-out hit in the second chased Panik home for a 2-0 game, but Peralta began the fourth with a shot to right which got the Diamondbacks on the board.

Gregor Blanco reached on a one-out single in the home half and scored when Crawford followed with a long homer to right which gave the hosts a 4-1 advantage.

"We're trying to do that every night," said Crawford. "It was nice to remember last year and get a win at the same time."

Game Notes

Prior to the contest, the Giants received their 2014 World Series rings, denoting the franchise's third championship since 2010 ... The Diamondbacks failed in their quest to win three straight vs. San Francisco for first time since April 9-June 20, 2014.