SAN FRANCISCO (AP) Ivan Nova had little problem extending Pittsburgh's streak of strong road starts.
Three home runs, including a milestone shot by David Freese, gave the right-hander all the cushion he needed.
''Guys got balls over the plate and when we had them we nailed them,'' Pirates manager Clint Hurdle said ''And Nova was spot on through four. Some small misfires in the fifth and then a nice shutdown.''
Nova (7-6) lost to the Giants in May but was sharper this time. He retired the first 11 batters and didn't allow a hit until Austin Slater's leadoff single in the fifth. Nova yielded three hits and had three strikeouts.
Pirates starting pitchers have a 2.20 ERA over their last 10 road starts.
''We have good starting pitching,'' Nova said. ''We have had some guys pitch the way that they've been pitching and you just want to follow that. You want to pitch a good game too.''
Rich Rodriguez, Dovydas Neverauskas and Casey Sadler completed the six-hitter.
Adam Frazier added three singles and two RBIs, his fourth multi-hit game in the last six.
The Pirates have won three straight overall and improved to 8-2 in their last 10 at AT&T Park.
Joe Panik and Steven Duggar drove in two runs apiece for San Francisco.
Freese singled and scored on Diaz's homer in the second then broke the game open with his milestone home run, a three-run blast off Mark Melancon in the seventh.
''I didn't think it would be here, that's for sure,'' Freese said. ''I think I got one here before, maybe just one. For a guy that pounds a ball into the ground, not too bad.''
Diaz and Bell homered off starter Andrew Suarez (4-8) in the second.
Former Pittsburgh star Andrew Cutchen went hitless in four at-bats but made a pair of sparkling defensive plays against his former team.
A five-time All-Star and a Gold Glove winner for the Pirates as a center fielder in 2012, McCutchen threw out Frazier at second after he lined a ball into right leading off the game. In the sixth, McCutchen raced into the alley in right-center and made a diving grab to rob Diaz of extra bases.
Pittsburgh scored five unearned runs in the seventh after back-to-back errors by second baseman Panik and third baseman Evan Longoria.
''You give up five in the seventh, that's a pretty good punch there,'' Giants manager Bruce Bochy said. ''That's where it got away from us.''
LONG TIME COMING
Sadler allowed three unearned runs in his first appearance in the majors since April 12, 2015. The right-hander underwent Tommy John surgery in 2015 and was recalled from the minors on Sunday.
''This has got to be a very special evening for him, the fight, the perseverance and the resiliency to stay in the hunt and get back back and contribute in a major league game,'' Hurdle said. ''His stuff was clean.''
The Giants will retire the jersey of home run king Barry Bonds during a pregame ceremony Saturday. Bonds will be only the 10th player in franchise history to have his number retired.
ANOTHER BARRY'S BACK
Former San Francisco pitcher Barry Zito threw out the ceremonial first pitch before the game. Zito won 63 games for the Giants from 2007-13.
Giants: RHP Jeff Samardzija (shoulder inflammation) threw 40 pitches in a bullpen session and will face hitters next week. ... 1B Brandon Belt (hyperextended right knee) ran the bases and took batting practice. ... Catcher Nick Hundley is being evaluated for a concussion.
Giants LHP Derek Holland (5-8, 3.88 ERA) makes his second start against Pittsburgh this season on Friday night. Holland pitched 6 1/3 scoreless innings to beat the Pirates on May 13. RHP Clay Holmes (1-1, 3.65) will be called up from Triple-A Indianapolis and will start for Pittsburgh. Hurdle indicated the move was made to give the rest of the rotation an extra day of rest.
Copyright 2018 by AP. Any commercial use or distribution without the express written consent of AP is strictly prohibited.