PHOENIX -- The Arizona Diamondbacks are back at home, and their bats are back in business.
Troy Glaus and Royce Clayton each homered and drove in two runs, Brad Halsey pitched a career-high seven innings and Arizona recovered from a poor road trip to beat the San Diego Padres 5-3 Friday night.
"Offensively, we stuttered there on the road," Clayton said. "We weren't putting together runs in more than one inning, and it's tough to win ballgames if you don't keep attacking."
Glaus had three hits, including a two-run homer. Clayton hit a home run and an RBI single.
The Diamondbacks had 14 hits, winning their fifth in a row at home to erase the memory of a road trip on which they batted .210 and went 2-5.
Halsey (2-0), acquired in the trade that sent Randy Johnson to the New York Yankees, allowed solo homers to Phil Nevin and Ramon Hernandez, but gave up just three other hits and no other runs. He issued one walk and hit one batter with a pitch.
"It was good," the left-hander said. "You know, seven, eight, that's where you want to be. You don't want to always leave it up to your bullpen."
Mike Koplove worked a scoreless eighth for Arizona, and Brandon Lyon notched his seventh save after allowing a leadoff homer to Xavier Nady in the ninth.
"He was overworked, and that's my fault," Diamondbacks manager Bob Melvin said about Koplove, who gave up three runs in one-third of an inning in Colorado on Tuesday. "His velocities were back up today -- you were seeing 91 mph, where up there it was 87."
The biggest of Halsey's four strikeouts came in the fourth inning, when he worked out of a bases-loaded jam after Nevin's shot cut Arizona's lead to 3-1.
Ryan Klesko, the next batter, doubled and went to third on a groundout. The struggling Halsey walked Nady on four pitches, and San Diego loaded the bases on a failed fielder's choice.
But Halsey regained his poise and struck out Padres starter Tim Redding, then ended the threat by getting Geoff Blum on a grounder.
"That kid pitched a pretty good game," Nevin said. "He didn't allow guys to get on base early, and he kept guys off-balance. When you see guys like (Mark) Loretta and myself taking the swings we did and hitting balls down on the bat where we did, he did his job."
Redding (0-3), acquired March 28 in a trade with Houston, has lost all three starts this season. He gave up five runs and nine hits in 3 1/3 innings.
"It's a case where he's got to execute his pitches, especially ahead in the count," Padres manager Bruce Bochy said. "He pitched himself into trouble a few times. We've got some work to do there to get him on track."
The Diamondbacks jumped on Redding for three runs in the first inning and two in the fourth, when reliever Darrell May had to get the last two outs.
Clayton homered with one out in the first, his first since Aug. 12, with Colorado.
"I'm just trying to get on base," he said. "If you get a home run and score quicker, that's fine, but our job is just move runners, get on base and try to set up for guys behind us."
Luis Gonzalez singled and Glaus followed with his NL-high sixth homer. In the fourth, Clayton beat out an infield hit with the bases loaded, scoring Quinton McCracken, who started the rally with a one-out single, and Gonzalez had a sacrifice fly off May, who worked 2 2/3 otherwise scoreless innings.
Nevin led off the fourth with a 428-foot shot to left-center. Hernandez connected in the sixth.
Redding is 0-3 in Bank One Ballpark, last pitching in Phoenix on July 29, with Houston. ... Nevin's homer was his 150th with the Padres, trailing only Nate Colbert (163) and Dave Winfield (154) on the team's career list. ... Gonzalez, who had elbow surgery on Aug. 2, made a spectacular catch of Nevin's drive into the left-field corner to end the fifth inning. ... Halsey's previous high in seven starts with the Yankees and two with the Diamondbacks was six innings against Colorado on April 11 and at Washington on Sunday.