Luke Gregerson (6-8) allowed a one-out double in the 12th to Chris Owings, who came around to score on a triple by Didi Gregorius to lift Arizona to the victory.
"The bullpen did a nice job, but Luke hung a breaking ball to Owings that got him behind the eight ball a little bit," Padres manager Bud Black said. "The ball was up to Gregorious and he put it down the line where [first baseman Kyle] Blanks couldn't get it."
Josh Collmenter (5-4) pitched a scoreless 11th to earn the win and Brad Ziegler retired the Padres in the 12th for his 12th save.
Down 1-0 in the eighth after a pitchers' duel between Ross and Wade Miley, San Diego rallied behind Mark Kotsay's pinch-hit single to lead off the frame against D-Backs reliever David Hernandez. Chris Denorfia followed with a single to move pinch-runner Reymond Fuentes to second, but Jesus Guzman struck out after attempting to bunt and Jedd Gyorko was retired on a comebacker to the mound that advanced both runners.
Hernandez intentionally walked Chase Headley to load the bases for Tommy Medica, who thought he had earned a game-tying hit by pitch, but home-plate umpire Alan Porter ruled it a foul ball. Black argued the call, but it turned out to be moot as the next pitch got by catcher Miguel Montero and went to the backstop, allowing Fuentes to race home and even the score at 1.
Even with his team showing the resiliency to even the score at that time, Black was disappointed with the abundance of strikeouts from his batters.
"We struck out 17 times," Black said. "I thought among those 17, there were some good at-bats, but other times we didn't do what we needed to do in certain two-strike counts. Again, that will be addressed moving forward."
Ross kept the Padres within reach with eight strong innings, the only blemish coming via Paul Goldschmidt's National League-leading 36th home run, a solo shot in the sixth. Prior to that inning, Ross retired 10 straight. He gave up three hits while striking out six and walking three batters.
"I felt pretty good," Ross said. "[Catcher Nick Hundley] called a great game and I had great defense behind me, as usual. It was just one pitch that I wish I could have back, but overall I feel good."
Black also felt encouraged by the continued growth he sees in Ross, despite a lack of victories for the 26-year-old.
"We have seen this before, and it's really encouraging the way he is throwing," Black said. "It's great. He has made strides and is gaining confidence in his ability as a starting pitcher. Given the opportunities here with consistent, regular starts, I think the talent that everybody has seen with Tyson is starting to show up in competition."
Ross echoed Black's sentiments and said the recent success gives him confidence.
"I'm just trying to build off of my previous starts and just growing as a pitcher and gaining confidence as I go," Ross said. "I'm looking forward to my next start and finishing strong."
Miley dueled Ross for six shutout innings as the San Diego offense continued a trend of poor run support for Ross. In his last 12 starts, the Padres have scored just 11 runs for Ross, who has not earned a win since Aug. 10.
"Miley has a good arm, no doubt about it," Black said. "Miley, he proved it last year as a rookie pitcher. A good live fastball, good change, every now and then mixes in a curveball. He has a quick arm, comes after hitters. He gets after it."
The D-backs set a Major League record with 78 extra innings played so far this season, surpassing the 1969 Twins, who played 76 extra innings.
"This park has just been hard for us to score in all year," D-Backs manager Kirk Gibson said. "These guys have had our number, so it feels good to get that win."
Miley, who had lost four straight games to the Padres, gave up four hits and struck out seven while issuing one walk.