Kennedy gave up a home run to Gregor Blanco in the third inning and Buster Posey's RBI single in the fifth before a strong sixth-inning performance.
After hitting Brandon Crawford with a pitch, Kennedy struck out Blanco and received help from Derek Norris, who caught Crawford stealing second to end the inning.
"He was outstanding, that sixth inning especially, getting it done," interim manager Pat Murphy said. "Norris gave him a big lift, strike 'em out and throw 'em out. For Ian the pitch count came up to 100 and he made some quality pitches to [Brandon] Belt. He went after it in the sixth inning; that was impressive."
Kennedy has a 2.98 ERA over his last 51 1/3 innings (nine starts). He hasn't allowed more than three earned runs in a start since May 28.
Kennedy is now 2-1 with a 1.69 ERA in four starts against San Francisco this season, with 19 strikeouts in 21 1/3 innings.
"[The game] was good. Good fastball command tonight," Kennedy said. "Getting ahead of guys early on, getting in the groove with the fastball a little bit. D-Nor and I were on the same page. It was nice."
Kennedy is 11-5 in his career against the Giants, pitching 157 innings with a 2.41 ERA and allowing 42 earned runs. In his last six starts against San Francisco, he is 4-1 with a 1.54 ERA in 35 innings.
Despite putting up good numbers vs. the Giants, Kennedy said that since he has faced San Francisco so many times in his career, he is not necessarily more confident, but more familiar with them when on the mound.
"Sometimes they get me, sometimes I get them," Kennedy said. "It all depends. That record [11-5] all depends if we hit or not and who they have in their lineup, stuff like that. So it's fun when you are facing a team over and over. ... I face [Buster] Posey so many times, all those guys, it's just more familiarity."
With a win Monday, the Padres have now won five consecutive games, their longest winning streak of the season.
"We're playing to our potential," Kennedy said. "It's nice to have the streak."