SAN DIEGO (AP) -- Left-hander Eric Stults gave up a leadoff double to Gerardo Parra and didn't feel good about his pitches.
He quickly settled in, though, because he didn't give up another hit until Willie Bloomquist singled with one out in the ninth.
Stults finished with a career-best two-hitter and Logan Forsythe hit a bases-loaded, two-run single with two outs in the sixth to give the San Diego Padres a 2-1 victory against the NL West-leading Arizona Diamondbacks on Friday night.
''It was a masterful performance,'' manager Bud Black said. ''He gave up the leadoff hit to Parra and then after that they didn't threaten. I mean, he was outstanding.''
Stults throws a fastball that hits 90 and a slow curve in the low 60s.
''The wide range of velocities keeps the hitters off-balance, disrupts their timing,'' Black said. ''He pitches. He truly pitches.''
Stults (6-5) retired 16 of the last 17 batters for his third career complete game. He struck out three and walked one. He previously had thrown two four-hitters.
It was the Padres' first complete game this season.
''Anytime you start you want to finish the game,'' Stults said. ''I felt like I was able to get a lot of quick outs early. The first inning I didn't have a good feel for my pitches. I felt like I was behind. Left the ball up to Parra to start the game off, so a leadoff double. But I was able to work through that kind of wildness for me and as the game went on get a better feel and my delivery was much better.''
After Parra doubled, he advanced on Bloomquist's groundout and scored on Cody Ross' sacrifice fly.
''We had a rocky start, kind of adjusting to the ump, a couple of balls that were close,'' catcher Yasmani Grandal said. ''We made the adjustment, closed down the gap. The game of baseball is basically just keeping guys off balance. That's what he does. He keeps guys off balance. That's why he's so successful.''
The fourth-place Padres pulled within four games of the Diamondbacks. San Diego has won four straight and seven of nine. The Padres (33-34) are within one game of .500 for the first time since April 4. They started 5-15.
Bench coach Alan Trammell managed the Diamondbacks while Kirk Gibson served his one-game suspension stemming from Tuesday night's brawl against the Los Angeles Dodgers.
''Just off-speed,'' Trammell said about Stults. ''That's what he does. He uses the hitters' energy against them. Like anybody who's not a hard-thrower - that's what they do - they get guys to get off-balance, thinking that at some particular time they're going to sneak a fastball, and occasionally they do but most of the time percentages say they're not and he didn't.''
Trevor Cahill (3-8) tied his career high with 10 strikeouts but got into trouble in the sixth. The Padres loaded the bases with no outs in the sixth when Alexi Amarista walked, Chase Headley was hit by a pitch and Carlos Quentin beat out an infield single to third base. Cahill struck out Kyle Blanks and Will Venable before Forsythe singled to left-center, bringing in Amarista and Headley. Forsythe took second on a throwing error by A.J. Pollock.
''Those first-batter walks come back to haunt you,'' Cahill said. ''I got ahead of Headley 1-2 and try to make a nasty pitch and hit him in the foot.
''It's tough - we're in first place and you want to have an opportunity to get a bigger lead and I was just one pitch away. I made a bad pitch on Forsythe and couldn't get out of it.''
Cahill intentionally walked Yasmani Grandal and made way for Will Harris, who struck out Stults to end the inning.
Cahill allowed two runs and five hits in 5 2-3 innings and walked three.
NOTES: Gibson watched the game from a skybox with general manager Kevin Towers. ... Cahill set his career high with 10 strikeouts on June 26, 2010, against Pittsburgh. ... Before the game, the Padres honored their 1998 team, which won the second NL pennant in team history before being swept by the New York Yankees in the World Series. Lefty Sterling Hitchcock, the MVP of the NLCS victory against Atlanta, threw out the ceremonial first pitch to catcher Carlos Hernandez. Anisha Gwynn Jones, daughter of Hall of Famer Tony Gwynn, sang the national anthem. ... Towers was GM of the Padres in 1998. ... Arizona RHP Ian Kennedy was suspended 10 games and infielder Eric Hinske five for their roles in Tuesday's fight at L.A. Both are appealing. ... The Padres made several moves before the game. ... They acquired INF Pedro Ciriaco from Boston for a player to be named or cash, reinstated closer Huston Street from the 15-day disabled list and optioned left-hander Tommy Layne and outfielder Jaff Decker to Triple-A Tucson. ... Ciriaco was designated for assignment by the Red Sox on Monday. ... The Padres have flip-flopped their weekend starters, with Jason Marquis set to go Saturday and Clayton Richard on Sunday.