Tony Clark had a three-run homer and Quinton McCracken a two-run homer for the Diamondbacks, who built a 6-0 lead after three innings. It was Arizona's seventh straight home victory.
Shawn Estes (2-1) allowed three runs and just three hits while working around four walks in seven innings. The veteran lefthander has won his last eight decisions against San Diego.
Ryan Klesko and Jesse Garcia each hit two-run homers for the Padres, who have lost eight of their last 11 games.
Arizona got to San Diego starter Brian Lawrence (1-3) for six runs and seven hits in 2 1/3 innings.