CINCINNATI -- Wily Mo Pena knows he needs to make the most of his chances.
"It felt great," Pena said. "I just have to keep it going. I don't feel pressure. I just want to do the best I can and play the game hard."
Pena and Edwin Encarnacion hit three-run homers off Brad Halsey in a seven-run fourth inning, and Austin Kearns, Felipe Lopez and Sean Casey also homered for Cincinnati. Pena hit his second homer in the eighth off Brandon Lyon, when Casey followed to make it consecutive homers.
Pena has three homers in his last seven plate appearances and 16 homers this season. He is fighting for playing time in an outfield that includes Ken Griffey Jr., Kearns and Adam Dunn.
"I know he wants to play, but with the way Dunn is playing and the way Griffey is playing and the way Kearns plays right field ... It's tough to take Kearns out, the way he plays defense," Reds interim manager Jerry Narron said. "Everybody knows we have a fly ball pitching staff, and it's tough to take him out."
Cincinnati took two of three from the Diamondbacks to win a home series for the first time since July 22-24 against Milwaukee, when the Reds also won two of three.
Eric Milton (7-12) allowed two runs and six hits in six innings, and didn't allow a home run for only the sixth time in 27 starts this season. Milton has allowed a major league-high 35 homers.
"I could've gone further," Milton said. "Everything was good. You put up a seven-run inning early, it really puts you at ease. It helps you relax and focus on what you have to do."
Halsey (8-10) gave up seven runs and eight hits in four innings, losing his third straight start after going 4-0 in his previous six. Arizona went 4-8 on a season-high 12-game trip.
After facing just one batter over the minimum nine through the first three innings, Halsey walked Rich Aurilia leading off the fourth, then gave up a single to Griffey and a 437-foot homer on a 1-2 pitch to Pena that bounced off the batter's eye in center field.
Casey singled, Kearns doubled and Encarnacion lined a homer into the left-field seats. Lopez added an opposite-field solo homer that bounced off the top of the fence in front of the visitors' bullpen down the right-field line. Melvin got the final out before manager Bob Melvin sent up a pinch-hitter for him in the fifth.
"Everything was going fine," Halsey said. "Then I walked the leadoff batter, and that's never good. I still felt like I was getting ahead of the hitters, but I just didn't make good pitches with two strikes."
Melvin was ejected for the fourth time, arguing that Kearns' homer hit the top of the wall and stayed in play
Arizona scored two runs in the sixth on Troy Glaus' sacrifice fly and Luis Terrero's single. Tony Clark hit a two-run single off Brian Shackelford in the seventh, but Kearns homered in the bottom half against Greg Aquino. Kearns has three homers in three games and 12 this season.
Alex Cintron hit a two-run homer off Kent Mercker in the eighth, the second pinch-hit homer of his career.
"We haven't played well on this road trip," Melvin said. "After Cintron's home run, I thought we had a chance -- if we could stop them."
Cincinnati has scored six or more runs in an inning three times in its last three games. ... Arizona 2B Craig Counsell turned 35 Sunday. ... Diamondbacks rookie Conor Jackson walked as a pinch hitter in the seventh and remained hitless in 17 straight at-bats ... Quinton McCracken is hitless in his last 12 at-bats after striking out as a pinch hitter in the fifth. ... SS Royce Clayton was 0-for-5 to snap his season-high hitting streak at nine games. He had reached base at least once in 19 consecutive games.