"Things are kind of working out a little bit," Arroyo said. "I'm feeling good, but I've been feeling good all year. Sometimes you have to get things going and they've been going to last six weeks."
Arroyo (11-7) allowed two runs and five hits for his fourth straight win. He took himself out after the sixth, having pitched out of trouble in the fourth and run the bases in the top of the inning.
"There was a kind of a weird vibe all day," Arroyo said. "It was a little humid and I just felt like I was gassed. It was a good time to turn it over. With the bullpen we have it's nice to know you can go out and maybe give up a little sooner than you would otherwise and still win."
Sean Marshall came on in the seventh, Jonathan Broxton pitched the eighth and Aroldis Chapman retired the side in the ninth for his 32nd save.
"We take the blessings that we have been given," Reds manager Dusty Baker said with a smile.
Brandon Phillips added an RBI double for the Reds, who remained six games ahead of St. Louis in the NL Central and gave Baker his 400th win with the club.
Justin Upton drove in both runs for the Diamondbacks, who have lost four straight and six of eight during their 10-game homestand.
Arizona slipped below the .500 mark for the first time since August 15 and trails San Francisco by 7 1-2 games in the NL West with 33 to play.
With two outs in the sixth, Arroyo lofted a pitch from Tyler Skaggs toward the left-field bleachers where it struck a railing and ricocheted to the left and back onto the field.
Umpires, apparently believing the ball had hit the top of the fence initially called the ball in play and Arroyo stopped at second, but after a video review he was awarded his sixth career home run.
"We knew the ball ricocheted too hard to hit off the wall," Baker said. "Thank God for instant replay."
Skaggs (1-1), making his second career start, gave up three runs on five hits over 5 2/3 innings. He struck out five, walked two and hit a pair of batters.
"It felt good but I need to cut down on the walks, the walks and the hit batters," Skaggs said. "I think it would help my outing a little bit."
Upton gave the Diamondbacks a 1-0 lead in the second with a solo home run to left. The Reds tied the game in the top of the third when Wilson Valdez singled and scored on Phillips' double to center.
Cincinnati added an unearned run in the fourth when first baseman Paul Goldschmidt couldn't handle a throw from Skaggs, allowing Scott Rolen to score from third. Upton knotted the score in the bottom of the inning, singling home Aaron Hill with one out.
"With him (Arroyo), you just kind of have to get a pitch to hit and make sure he's on the plate," Upton said. "He works the corners a lot."
NOTES: Chapman has converted a franchise record 24 straight save chances. . Baker is the seventh manager in Reds' history to collect at least 400 wins. . Arroyo's last home run was June 17, 2010 against the Los Angeles Dodgers. ... Reds 1B Joey Votto, out with a left knee injury since July 17, did not work out with Class A Dayton because of inclement weather. He's expected to begin his rehabilitation assignment on Tuesday, weather permitting. ... RHP Johnny Cueto (16-6) will take the mound on Tuesday night for the Reds against Arizona rookie LHP Wade Miley (14-8). Cueto is tied with Washington's Gio Gonzalez and the New York Mets' R.A. Dickey for the NL lead in wins and leads the NL with a 2.47 ERA. With the trade of Joe Saunders to Baltimore, the 25-year-old Miley is the second-oldest pitcher in the Diamondbacks' starting rotation.