Kennedy (19-4) gave up just one run on seven hits with a season-high 11 strikeouts to win for the 11th time in his past 12 starts. He lowered his earned run average to 2.90.
"He just has such good control of his pitches," said Arizona manager Kirk Gibson. "He means so much to this organization and much of our success we owe to him."
Since giving up seven runs on July 3 to Oakland, he hasn't allowed more than three in a start and has lost just once, on August 18 at Philadelphia.
Justin Upton and Paul Goldschmidt both hit solo home runs for the Diamondbacks, who have won five of six and moved to 7 1/2 games ahead of San Francisco for top spot in the NL West.
Will Venable drove in the lone run for the Padres, who have lost 12 of their last 14. Cory Luebke (5-9) dropped his third straight start as he was touched for two runs on three hits with four walks and nine strikeouts over 5 2/3 innings.
Goldschmidt's solo shot in the fourth staked Arizona to a 1-0 lead while Upton led off the sixth with his 29th shot of the season to double the advantage.
Arizona added two runs to its lead in the seventh. Kennedy was hit by a pitch and Willie Bloomquist followed with a single. Aaron Hill then hit a grounder that appeared to be a double play, but Orlando Hudson's throw to first was off and Kennedy scored on the play. Miguel Montero extended his hitting streak to 16 games with a single later in the frame to score Hill for a 4-0 advantage.
J.J. Putz pitched around a leadoff single to Cameron Maybin in the ninth for his 38th save of the season.
Kennedy improved to 5-0 against the Padres in seven starts...Arizona has won eight of the 12 games against Arizona this season...Luebke fell to 0-3 in five games against Arizona.