Arroyo (11-9) allowed two hits, struck out seven and walked none in his second straight win. The crafty right-hander retired his first nine batters and faced the minimum through six innings.
Frazier also had one of Cincinnati's four run-scoring doubles as the Reds (68-52) earned their fourth consecutive win to move a season-high 16 games over .500. They improved to 13-3 against the Cubs this year, including a 9-1 mark at Wrigley Field.
The Cubs wasted a solid start by Chris Rusin(2-2) in their fourth straight loss. The left-hander allowed two runs and three hits while throwing just 76 pitches over six innings.
With Chicago struggling to score against Arroyo, manager Dale Sveum had Starlin Castro hit for Rusin with two out and none on in the sixth. Castro flied out to left, and Zack Cozart hit an RBI double off Carlos Villanuevain the seventh to give Cincinnati a 3-0 lead.
David DeJesus rolled a leadoff single into center field in the fourth for Chicago's first hit, but was promptly erased when Darnell McDonald bounced into a double play. McDonald singled off the glove of second baseman Brandon Phillipsin the seventh and was stranded when Arroyo retired the next two batters.
Arroyo improved to 13-9 with a 2.92 ERA in 30 career games against the Cubs, including wins in each of his last four starts. He has been quite good at Chicago's cozy neighborhood ballpark, with an 8-3 record and a 2.83 ERA in 15 appearances.
Frazier helped the Reds get off to a fast start when he drove Rusin's third pitch over the wall in left and onto Waveland Avenue. It was Frazier's first homer since July 1 against San Francisco and No. 11 on the year.
Frazier and Joey Votto had consecutive RBI doubles in the eighth to cap the scoring.
Photo: Getty Images