Diamondbacks starter Brandon Webb missed a chance to win his 20th game by giving up six runs in less than five innings. He's now 19-5.
Chad Reineke gave up two runs on a Mark Reynold's homer to improve to 2-1 with five innings of work.
Chase Headley drove in two runs for the Padres, who have back-to-back wins after losing seven straight.
Arizona has lost three straight but still hold a three-game in the National League West.