Arrieta (4-1) struck out eight during his perfect start, including the side in the sixth. He had a leadoff walk in the bottom half and came around to score when Homer Bailey (7-4) hit Starlin Castro with the bases loaded.

That little trip around the bases proved costly. Rookie Billy Hamilton started the seventh with a single up the middle for Cincinnati's first baserunner.

''I was pretty gassed there, unfortunately,'' Arrieta said. ''Pretty humid night. Long inning there in the sixth. Running the bases, which really isn't all that tough in itself, but you couple that with being on the mound and having that long layoff, it adds a little bit to it.''

Arrieta allowed two runs and three hits while improving to 3-0 with a 1.14 ERA in five June starts. It was his first win of the season at Wrigley Field, where he has yielded three runs in 23 innings over four starts.

''Really it's just kind of going through the process that I feel like gives me the best chance to have success,'' he said, ''and going through it day by day and sticking with it.''

Anthony Rizzo belted a solo homer for the second straight night for the Cubs, who snapped a three-game losing streak. Welington Castillo drove in two runs, including a sacrifice fly in Chicago's three-run eighth.

Devin Mesoraco homered for the fifth straight game for Cincinnati, matching a franchise record. Mesoraco's 14th homer came with one out in the ninth against Neil Ramirez.

''It was late in the game. All the other homers were to help the team win, and important, big homers,'' he said. ''They actually meant a lot. That one didn't really help us come back, so it doesn't mean as much.''

Mesoraco also had an RBI single in the seventh and scored on Jay Bruce's double before Arrieta struck out Ryan Ludwick to complete his masterful night against one of the majors' hottest lineups. Cincinnati had won three straight and nine of 12, averaging 6.7 runs and 10.2 hits per game in that stretch.

The Cubs used four relievers to get through the eighth, and Ramirez finished Chicago's 12th win in 42 games against Cincinnati over the last three seasons.

The Reds had runners at first and second in the eighth when third baseman Mike Olt made a nice diving stop on Todd Frazier's grounder for the final out of the inning.

The start of the game was delayed 53 minutes by rain, but the pitchers adjusted quite nicely to the late start.

Bailey retired his first 11 batters, striking out five. But Rizzo drove the first pitch he saw in the fourth inning into the basket in right-center for the first of his three hits and his 17th homer this season.

Castillo added a run-scoring double in the fifth, and the Cubs chased Bailey while scoring two more in the sixth. Nate Schierholtz had a sacrifice fly for the first of his two RBIs.

Bailey allowed four hits, struck out six and walked two in his first loss at Wrigley since he pitched 5 1-3 innings in his first career appearance at the cozy neighborhood ballpark on Sept. 13, 2009. The right-hander began the day with a 5-1 record and a 2.56 ERA in seven road starts against the Cubs.

''Just bad pitch execution in the last inning or two,'' Bailey said. ''That was probably the only thing I saw.''