It was the 10th win in 13 games for the Reds, who moved a season-high 27 games over .500
Arroyo (10-7), who gave up both runs while striking out four and walking none, retired the first 14 batters before Domonic Brown's two-out homer in the fifth. Brown doubled off the wall in right-center with one out in the eighth and pinch hitter Kevin Fransden reached on an infield single leading off the ninth for the other hits off Arroyo.
"I had good stuff," Arroyo said. "I was hitting my spots on both sides of the plate. It's one of the best games I've thrown."
Other than that, the Phillies didn't have anything close to a hit off Arroyo, who was 0-6 with a 9.46 ERA in his last seven regular-season starts against the Phillies. But Arroyo has been hot lately, improving to 6-1 with a 3.50 ERA in his last seven starts.
"He pitched a great game," Cincinnati manager Dusty Baker said. "Low pitch count, great location, used all his pitches and the defense played great behind him. No walks was the key. You can't walk people in this ballpark."
Aroldis Chapman relieved Arroyo after Fransden's hit. Fransden went to second on Chapman's wild pitch and scored on pinch hitter Ty Wigginton's one-out single to right. Wigginton's broken bat caromed into the back of Chapman's left leg and the lefty limped around but remained in the game after a visit from the trainer. Chapman then got Chase Utley to fly out and Ryan Howard to line out sharply to left for his 31st save in 35 chances.
Worley (6-9) allowed two runs and eight hits in six innings. It was Worley's third straight loss but the longest outing in four starts for the righty, who has one win in his last seven starts.
"Things just haven't gone our way," said Worley, who was noticeably frustrated on the mound. "If it can go wrong for us, it goes wrong. I want to win; nobody likes losing. I need to do a better job of hiding (his frustration), but it's been a long season."
The five-time NL East defending champion Phillies dropped 10 games under .500.
Brown was a bright spot for Philadelphia, launching Arroyo's first pitch -- a 90 mph sinker -- deep into the seats in right field for his first homer of the season and eighth in 324 career at-bats.
"I'm just trying to do whatever I can for the team," Brown said.
Said Arroyo, "I really didn't know a lot about him. I threw a sinker and he hit it out of the park. I had no history on him."
Bruce led off the eighth and gave the Reds a 3-1 lead with a towering homer off the concrete wall below the second deck in right off right-handed reliever Josh Lindblom.
Brown lost Bruce's pop fly in the lights in the fourth inning, leading to a triple. But the right fielder made two strong defensive plays, a full-out sprinting dive to his right to rob Arroyo of extra bases in the second and an excellent throw to nail Bruce at the plate trying to score on Todd Frazier's medium fly ball in the fourth.
"I already messed up a ball and was trying to make a play for Vance," Brown said.
Philadelphia got two runners on base in the eighth when Placido Polanco followed Brown's double by reaching on third baseman Scott Rolen's fielding error. But the Reds ended the inning with a sensational double play on Brian Schneider's grounder up the middle. Shortstop Zack Cozart ranged behind the bag at second, fielded with his glove and flipped to Brandon Phillips. Phillips jumped and caught the ball, then spun in one motion for a one-hop throw to first that was cleanly picked by Frazier.
The Reds are 27-11 without Joey Votto, who has been on the DL since July 17 with a left knee injury. ... After winning seven straight against the Reds, Philadelphia has lost two straight to Cincinnati. ... On Retro '90s Night, the Phillies wore maroon and white pinstriped uniforms from the 1991 season. ... Phillies lefty Cole Hamels (14-6, 2.94) is scheduled to face Cincinnati righty Johnny Cueto (16-6, 2.44) Thursday night in the conclusion of the four-game series.