PHOENIX -- Randy Johnson used to wrack up strikeouts by throwing hard. Now that he's 44, he's mowing opponents down by simply "pitching."
Though the strikeout total was familiar -- Johnson's 211 games with double-digit strikeouts is just four shy of Nolan Ryan's record 215 -- the method has changed.
"It seems everyone throws 92 or 93 these days," Johnson said. "Against a .270 to .300 hitter, you feel a little vulnerable out there. Location is a necessity. My location was a lot better today and my slider was a lot better."
Johnson (5-7) moved into sole possession of 24th place on the career victory list with his 289th win, moving ahead of Tommy John. It was his first victory since May 18.
"I've seen Randy over the course of his career at times dominate with the fastball or the slider," said Padres manager Bud Black. "I think today he had all three pitches working. He was able to elevate the fastball for the strikeout, he threw some sliders and he mixed in the change as the game went on. He pitched. He pitched today."
After Scott Hairston led off the game with a home run, Johnson did not allow another hit until Edgar Gonzalez's sixth-inning single. Johnson retired 20 of 23 hitters overall, didn't allow a walk and hit a batter.
"Six innings and 10 strikeouts takes a lot out of you," Johnson said. "I was gassed a little bit."
The Padres nearly spoiled Johnson's milestone with a ninth-inning rally against Brandon Lyon.
Adrian Gonzalez led off with a single and Kevin Kouzmanoff hit a tailing line drive to right that bounced off the glove of a diving Justin Upton. Gonzalez initially stopped at third but both runners advanced when Upton's throw tipped off the top of both Orlando Hudson and Chad Tracy's gloves, making it 3-2.
But Lyon struck out Chase Headley and retired Khalil Greene and Luis Rodriguez on consecutive grounders to second for his 18th save.
"For someone not known as a strikeout pitcher he has the weapons to get one when he needs one," said Arizona manager Bob Melvin.
Upton hit the second-longest home run in Chase Field history and Mark Reynolds also homered for the Diamondbacks, who went 3-4 on their seven-game homestand and remained a half-game ahead of the Los Angeles Dodgers in the NL West.
Hairston's leadoff homer was his second of the season for the Padres, who saw their modest two-game winning streak snapped and have lost 15 of 19.
Upton tied the game at 1 in the bottom of the fifth when he hit a towering drive off Josh Banks onto the upper row of the patio fronting a second-deck restaurant in left field, an estimated 484-foot shot.
"It was a fastball that was elevated a little bit," Upton said. "I just caught it perfect and it took off a little bit."
Stephen Drew added an RBI single in the fifth and Reynolds added his home run, a 424-foot shot off the batters eye above the center field wall, to make it 3-1.
Banks (2-4) allowed the three runs and seven hits over six innings with a walk and two strikeouts in losing his fourth straight start.
"This was the first time in I don't know how many years I didn't throw any splits in a game," Banks said. "I couldn't get a grip on it. I tried not to get myself behind in the count. I made some good pitches but some pitches kinda took off on me."
Johnson also struck out 10 hitters without a walk May 24 at Atlanta. ... Richie Sexson hit the longest home run in Chase Field history, a 503-foot drive off the scoreboard in center field on April 26, 2004. ... Before the game the Diamondbacks placed RHP Juan Cruz on the 15-day disabled list with a strained left oblique muscle. Cruz, 2-0 with a 3.23 ERA in 30 2/3 innings, threw three pitches to Gonzalez in Saturday's 4-2 Padres victory before leaving the game. ... To replace Cruz, Arizona recalled RHP Connor Robertson from Triple-A Tucson. Robertson made his Arizona debut on July 1 and pitched again Thursday before being optioned to Tucson on Friday. ... Hairston's other leadoff home run came June 4 off Ted Lilly of the Chicago Cubs.