Eckstein's only hit in his lone at-bat came with the bases loaded and one out in the bottom of the 10th off losing pitcher Esmerling Vasquez (0-1).
San Diego's Scott Hairston and Nick Hundley both had to hits and one RBI. Edgar Gonzalez hit a fifth-inning RBI single, while Kevin Kouzmanoff had two runs and three hits for the Padres, who salvaged a two-game split and have lost 13 of 17.
The winner was Cla Meredith (4-0) after a scoreless 10th inning.
Arizona starter Dan Haren doubled in a run with no outs in the top of the third, one of five Arizona hits. Haren had yielded two or fewer runs in his six previous starts.
Felipe Lopez hit a third-inning sacrifice fly and Justin Upton had a run and two hits for the Diamondbacks, who lost for the fourth time in five games.