Chris Denorfia's two-run shot in the eighth inning sent San Diego over Arizona, 2-1, in the middle test of a three-game series.
Ernesto Frieri (1-0) turned in a scoreless top of the eighth and Huston Street followed suit in the ninth for his first save of the season for the Padres, who dropped an extra-inning decision in the opener on Tuesday.
Starter Cory Luebke left after 5 1/3 frames, charged with four hits and a run while walking four and fanning five.
Jason Kubel's bases-loaded walk in the first was the lone offense for the D- Backs, who had won four in a row to begin the year.
David Hernandez (0-1) took the loss and the blown save after serving up the deciding homer. Joe Saunders allowed four hits and two walks with four strikeouts over his seven-inning outing.