MIAMI - Matt Cain pitched seven strong innings, and the San Francisco Giants held on to defeat the Miami Marlins 6-4 Saturday night at Marlins Park.
Cain (8-8) allowed just four hits, two walks and two runs, leaving with a 4-2 lead. The Giants added two runs in the eighth on Pablo Sandoval's bases-loaded walk and Andres Torres' infield single.
The Marlins cut their deficit to 6-4 with a two-run, eighth-inning double by Logan Morrison off of reliever Santiago Casilla. One of the runs was unearned due to a throwing error by shortstop Brandon Crawford.
Sergio Romo earned his 30th save with a scoreless ninth.
The loss went to Henderson Alvarez (2-2), who allowed four hits, four walks and four runs in seven innings.
Alvarez was really good for the first three innings -- one hit, one walk and no runs -- before the Giants scored four times in the fourth.
Brandon Belt started the rally with a one-out walk. He reached second on a Buster Posey single and both runners advanced on a wild pitch.
Alvarez then made another mistake when he was late covering first, resulting in Pablo Sandoval's run-scoring infield hit. Sandoval was momentarily shaken up on the play after he dived for the bag, but he remained in the game.
Another Alvarez breakdown led to a run when a balk scored Posey. Gregor Blanco capped the rally with a two-run triple to center that eluded diving center fielder Jake Marisnick. It was Blanco's fifth triple of the season.
Cain was perfect for the first three innings, needing just 28 pitches to get nine outs. But Christian Yelich led off the fourth with a single to left and Cain walked two batters to load the bases with two outs. Yelich escaped the jam unscathed when he got Adeiny Hechavarria to hit a comebacker.
In the sixth, the Marlins cut their deficit in half when Giancarlo Stanton's two-run, 446-foot homer to left made the score 4-2. It was his 14th homer of the season and it came one pitch after Cain had knocked him down with an inside fastball.
NOTES: Giants 2B Marco Scutaro left the game in the sixth inning with a tight lower back. ... Posey, who was rested Friday, was back in the starting lineup. ... Marlins 3B Placido Polanco, who was hit on the back of the batting helmet with a fastball on Friday night, did not start Saturday. Polanco said he feels a bit "off balance". However, he doesn't have a headache and could return Sunday. Polanco also said it was much worse in 2006 when he was out one week after getting hit in the face by a pitch from Esteban Loaiza. ... After coming off the bench and hitting two homers and driving in four runs on Friday night, Justin Ruggiano found himself on the bench again Saturday. But Ruggiano, who was not demoted to the minors earlier this year when he fell into a 0-for-42 slump, said he is loyal to Marlins manager Mike Redmond and won't question his lineup choices. ... The top five hitters in the Giants' order on Friday combined for 16 hits. The last time the franchise accomplished that was in 1933. ... Friday's game was the first since 1900 in which both starting pitchers allowed at least 10 hits and eight runs and were gone after four innings.