Recap: Giants 4, Mariners 2

Giants 4, Mariners 2: Melky Cabrera slammed a two-run homer and Buster Posey had a solo blast as visiting San Francisco sent Seattle to its sixth consecutive loss.

Giants starter Ryan Vogelsong (6-2) won his sixth straight decision, giving up two runs on four hits in seven innings, as the Giants beat the Mariners for only the third time in the last 12 meetings.

Vogelsong was working on a two-shutout through seven innings and had retired 11 straight before he was touched for back-to-back singles to start the eighth inning that ended his night.

Seattle had the bases loaded with no outs but could manage only two runs on a pair of groundouts to cut a 4-0 deficit in half. Santiago Casilla pitched a perfect ninth for his 18th save.

Mariners left-hander Jason Vargas (7-6) allowed four runs on 10 hits in eight innings and has surrendered at least one homer in seven straight starts.

Posey belted a towering homer in the second to give the Giants the lead and Joaquin Arias had a sacrifice fly in the fourth before Cabrera struck the big blow with his two-run shot in the eighth.

GAME NOTEBOOK: The Mariners have been outscored 32-13 during their six-game skid. ... Arias extended his hitting streak to a career-high nine games. ... Seattle RF Ichiro Suzuki went 0-for-4 and remained two hits shy of 2,500 for his career. ... The Giants placed 1B Aubrey Huff on the 15-day disabled list with a sprained right knee. The team called up OF Justin Christian from Triple-A Fresno to serve as DH in Friday's game. Huff was hurt jumping over the dugout railing following the final out of Matt Cain's perfect game Wednesday.