The D'backs scored five runs in the fifth inning to take the lead and chip the Padres' lead over second-place San Francisco in the National League West down to four games.
Kennedy (9-9) struck out five over seven innings. Juan Gutierrez came in to pitch the ninth after the Padres picked up a late run and earned his fifth save.
Mark Reynolds had a two-run homer for Arizona and Gerardo Parra and Miguel Montero chipped in with two RBI each.
Nick Hundley went 3-for-4 and drove in two runs for the Padres.
Kevin Correia (10-10) was roughed up for six runs on six hits and six strikeouts in 4 1/3 innings.