Kennedy (6-9) won his third game in four starts, stifling the Giants on one run. The right-hander allowed five hits, walked two and struck out seven.
Nick Vincent, Tommy Layne and Luke Gregerson teamed up to blank San Francisco over the next two innings and Huston Street secured the win with his 26th save.
Chris Denorfia delivered a two-run single and Nick Hundely contributed a solo homer during a four-run second inning as the Padres began a three-game series with a win.
Giants starter Barry Zito (4-11) was tagged for four runs on four hits over four innings.
Brandon Belt went 2-for-3 with an RBI for San Francisco.