The NL West-leading Giants won for the third time in four games, and help could be on the way. The defending World Series champions have a deal in place for New York Mets slugger Carlos Beltran, a person familiar with the negotiations told The Associated Press, and just need the All-Star outfielder to approve the trade.
Without Beltran, the Giants scratched out two runs to deny Hamels (12-6) his NL-best 13th win.
Beltran could join San Francisco in Philadelphia, or possibly meet up with his new team in Cincinnati. The Mets wrap up a four-game series against the Reds on Thursday and the Giants open a weekend series in the Queen City on Friday.
San Francisco also could have Tim Lincecum back on the mound for the series finale Thursday. The floppy-haired ace was scratched from his start Tuesday because of an illness, but manager Bruce Bochy was hopeful he would start the finale.
With Lincecum out, Cain (9-6) had his start moved up a day and again quieted Philadelphia's bats. Cain pitched seven shutout innings and beat Hamels in Game 3 of last year's NL championship series. The Giants beat the Phillies in the NLCS and this three-game series was billed as a sneak peek for another potential October showdown.
Each team has won a game, but the Beltran deal could help keep the pennant on the West Coast.
The Mets would get pitching prospect Zachary Wheeler, who is 7-5 with a 3.99 ERA in 16 starts for San Francisco's high Class-A affiliate in San Jose. The Giants selected Wheeler with the No. 6 pick in the 2009 draft.
Giants manager Bruce Bochy called Beltran, "one of the elite players of the game."
The Giants entered batting only .241 with 66 homers and 371 runs scored, all numbers that rank toward the bottom of the NL. Beltran is batting .289 with 15 home runs and 66 RBIs. Asked where Beltran would play in the outfield, Bochy laughed and refused to specifically discuss the trade.
Cain allowed four hits and an unearned run before he was yanked when pinch-hitter Ross Gload reached on catcher's interference leading off the eighth. Javier Lopez got three outs and Brian Wilson finished for his 32nd save and a combined four-hitter. The Giants have won 12 of 17.
READ MORE ON CSNBAYAREA.com