PHOENIX -- Brandon McCarthy felt out of sync, spent most of his night battling, hoping batters would hit balls right at his fielders.
They did, for the most part, allowing Arizona's hitters time to come alive and give the right-hander his first winning streak since being struck on the head by a line drive last season.
McCarthy pitched seven effective innings for his second straight win and Paul Goldschmidt hit a two-run double to cap Arizona's five-run seventh inning, lifting the Diamondbacks to a 5-2 victory over the San Diego Padres on Friday night.
"Today isn't a whole lot dissimilar than some of my starts earlier in the year where luck was on my side with some of it," McCarthy said.
McCarthy (2-3) may not have had his best stuff, but he worked his way through it, long enough for the Diamondbacks to break open a tight game.
Arizona had two hits over the first six innings against Eric Stults (4-4), the hits started to fall in the seventh.
Martin Prado had a run-scoring double, pinch-hitter Wil Nieves followed with another and A.J. Pollock added an RBI single for his third hit. Goldschmidt capped it with a double off Anthony Bass to put Arizona up 5-1.
Everth Cabrera led off the eighth inning with a homer off David Hernandez and the Padres had two on in the ninth, but Heath Bell worked around the trouble for his seventh save to send the Padres to their third straight loss.
"Stultsie and McCarthy were hooked up in a definite pitchers' duel," Padres manager Bud Black said. "Stults threw the ball great. He really did."
Just not as well as McCarthy.
The lanky right-hander was superb in his last start, tossing a three-hitter against Miami for his third career shutout and first win since suffering a life-threatening head injury from a line drive last September.
McCarthy had been on a roll even before that, entering Friday's game with a 17-inning scoreless streak, leaving him two shy of his career best set in 2005.
McCarthy was good after that, escaping a couple of base runners in the sixth inning before being replaced for a pinch hitter in the seventh. He allowed a run on five hits.
"That was his third (quality start) in a row, threw the ball the same way," Diamondbacks manager Kirk Gibson said. "Just really good command of what he was doing, pretty efficient."
Stults had been solid after a couple of rough starts against San Francisco at the end of April, going 2-1 with a 2.39 ERA in four May outings. He allowed a run and four hits in eight innings to beat Washington his last start after carrying a no-hitter into the sixth inning.
Stults' no-hitter run ended a bit earlier against the Diamondbacks: on Pollock's two-out single in the third inning.
The left-hander was still sharp, getting the Diamondbacks to hit soft grounders and lazy fly balls while retiring eight more hitters in a row.
Arizona finally got Stults in the seventh inning, when Miguel Montero led off with a double and Prado spun the next pitch over the first base bag with an inside-out double that tied the game. Nieves, who's played 13 games this season, put the Diamondbacks ahead with a run-scoring double that chased Stults.
Pollock hit Dale Thayer's first -- and only -- pitch to left for a run-scoring single and Goldschmidt reached 20 RBIs in 21 games this month with his double off Bass. Arizona's four doubles in the inning matched a team record set four times, most recently on May 21, 2010, against Toronto.
Stults allowed four runs and six hits in 6 1/3 innings.
"I felt like I got away with some pitches through the sixth inning," Stults said. "Actually, it felt like in the seventh inning I made the pitches I wanted to, (but) just didn't have the results."
McCarthy's scoreless-innings streak matched Curt Schilling (2003) for fourth-longest in franchise history behind Brandon Webb (42 innings and 25) and Andy Benes (23 1/3). ... A moment of silence was held before the game for Phoenix Police Officer Daryl Raetz and firefighter Bradley Harper, who were killed in the line of duty in separate incidents on Sunday. ... Arizona LHP Wade Miley will be making his sixth career start against the Padres on Saturday. He is 1/3 with a 6.28 ERA with 13 walks and 18 strikeouts against them. ... RHP Andrew Cashner, who will start Saturday against the Diamondbacks, is 2-0 with a 1.69 ERA in his past three starts.