Cole Hamels struck out 10 and allowed one run over eight strong innings as the Giants were unable to complete the four-game sweep in Philly.