The Reds finally emerged from the funk of a 2-8 West Coast trip that pushed them back in the pack of NL wild card contenders. They reached a new season-low point - two games under .500 - by dropping the series opener on Monday.
Pitching in a dire situation on only three days of rest, Arroyo (12-9) got Cincinnati turned around. The right-hander struck out seven and walked one, allowing only one runner to get into scoring position.
A day after the Giants reached .500 for the first time since July 27, they slid back down because they couldn't touch Arroyo or overcome a wild first inning by Matt Morris (10-12), who walked four of his first eight batters.
Barry Bonds went 0-for-3 with a walk, ending his streak of three straight games with a homer. Bonds remains 25 shy of Hank Aaron's career homer mark, and three away from his NL record.
Ken Griffey Jr. was out of Cincinnati's lineup, a day after he dislocated a toe on his right foot while trying to catch Bonds' 730th career homer. There's no guess when he might be back.
Rich Aurilia and Todd Hollandsworth led the Reds with three hits apiece.
Working on short rest for only the third time in his career, Arroyo looked fresh throughout his fourth complete game of the season. He didn't allow a hit until the fifth, when Eliezer Alfonzo and Morris singled with two outs.
The right-hander kept the Giants off-balance by throwing every pitch in his repertoire - he even threw a sidearm, 69 mph changeup that froze Bonds.