PHOENIX -- Clayton Richard was hoping to finish what he started. Instead he fell one out short, settling to watch a veteran earn his first career save.
"He was smelling the finish line," said Padres manager Bud Black, whose club has won three straight and four of their past five.
|More on Padres-Diamondbacks|
|More MLB coverage|
Replied a smiling Richard, "I smelled it but I couldn't reach it. I really wanted to finish that one out but wasn't able to do it."
Richard allowed back-to-back two-out, ninth-inning hits to Ryan Roberts and Gerardo Parra before giving way to veteran left-hander Joe Thatcher.
With All-Star closer Huston Street unavailable, Thatcher struck out pinch-hitter Jason Kubel for his first career save in his 213th appearance over seven seasons.
"I knew it depended on a lefty or righty coming up and when I saw Kubel on deck I thought it might be me," Thatcher said. "Clayton pitched such a good game so I wanted get this win for him."
Richard (6-8) has three career complete games but none since September 2010. As a staff, the Padres have only one.
"I don't want to say it's a rare thing but it doesn't happen very often," Black said. "I wanted desperately for him to get it, just for him."
Richard scattered eight hits, walked one and struck out two. In his past five starts, he is 4-1 with a 1.70 ERA.
The Padres also flashed some power against Trevor Cahill (6-7) and three relievers.
Cameron Maybin hit a 485-foot home run, the longest in the majors this season, Alexi Amarista hit his fourth home run in five games and Yasmani Grandal also connected for the Padres.
Grandal singled for his fourth career hit, after hitting home runs for each of his first three. The last player whose first three hits were homers was Keith McDonald for St. Louis in 2000 -- those turned out to be the only three hits he got in the majors.
"Home runs are fun to watch -- in the dugout," Richard said.
Amarista also added a two-run double and a single and finished with three RBI.
Chris Young hit a home run for the Diamondbacks, who have dropped three straight. Arizona has connected in 13 consecutive games, matching the longest streak in club history.
Cahill allowed two earned runs in six innings.
"I didn't feel comfortable out there the whole game," Cahill said. "They were swinging early and I couldn't get my offspeed over for strikes so I had to go with fastballs. With an aggressive team like that, they know what is coming and they are going to hit it."
Amarista put the Padres with a solo home run in the first.
Maybin homered deep to left-center field and Amarista bounced a two-out double to right-center to spark a three-run sixth. An error on Cahill for failing to catch an underhand toss from Paul Goldschmidt for would have been the second out kept the inning alive.
"Bad baseball is bad baseball," Arizona manager Kirk Gibson said. "I never like that. We made it hard on ourselves. That's not who we are."
Maybin's shot, which landed in the second row of picnic tables above the concourse above the left-center field wall, was the longest home run by an opponent at Chase Field and the fourth-longest home run at the stadium.
"It felt even better because it got Clayton some extra runs," Maybin said. "In a park like this, no one- or two-run lead is safe."
The Diamondbacks cut the lead to 4-1 on a sacrifice fly by Paul Goldschmidt in the sixth, but Grandal homered in the seventh.
Young connected leading off the bottom of the seventh, his eighth home run but only his third since returning from the 15-day disabled list May 18.
San Diego added a run in the ninth against Brad Ziegler on two walks, a single and a hit batter.
The Diamondbacks last hit a home run in 13 consecutive games in 1999. ... Aaron Hill has hit in 17 consecutive home games. ... Before the game, the Diamondbacks placed INF John McDonald on the 15-day disabled list with a strained left oblique and recalled from INF Geoff Blum from his rehab assignment with Triple-A Reno. ... RHP Trevor Bauer, who allowed two runs on five hits in over four innings in his major league debut on June 28, will take the mound for the Diamondbacks against RHP Andrew Cashner. Cashner, who had been in the Padres bullpen until June 9, retired 19 of the first 20 Houston batters he faced but got a no-decision against the Astros on June 28.