Chase Headley went 3-for-3, including a first-inning solo home run, as the Padres completed a sweep of the Giants for the first time since May 2010.
Jason Marquis (2-2) earned the win, allowing two runs on six hits over 6 2/3 innings. The right-hander walked four and struck out three.
Huston Street earned his fifth save.
Giants starter Ryan Vogelsong (1-2) was tagged for six runs (five earned) on eight hits through five frames.
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need
Jordana Brewster on Paul Walker: 'He was an enormous presence in my life'