The Reds, who have won 11 of their last 15 games, finished the road trip with three wins and three losses.
Arroyo, 8-0 with a 1.91 ERA in his previous nine starts against the Astros, gave up five runs on two sacrifice flies, an RBI single and a two-run pinch-hit homer by Justin Maxwell.
The seventh-inning homer from Maxwell, who had never faced Arroyo, ended up being the difference. Arroyo and catcher Ryan Hanigan disagreed on what pitch to throw Maxwell with a 1-1 count. Arroyo wanted to throw a sinker. Hanigan wanted a sweeping breaking ball.
Arroyo decided to throw a 12-to-6 breaking ball, but he hung it over the middle plate for Maxwell, who hit a blast 412 feet over the left-field boxes to put the Astros up, 5-2.
"Those are the chess match battles that go along with pitching in the big leagues with not unbelievable stuff," Arroyo said. "It's always a head game, and you're trying to figure that out quickly and on the spot, and Hanigan's trying to size guys up as well. We got beat."
Sean Marshall came in for Arroyo after the homer.
Maxwell, a righty, got the biggest hit, but manager Dusty Baker said he thought part of the problem on Sunday was that the Astros put a lot of left-handers in the lineup against Arroyo, a righty. For the season, lefties are hitting .340 in 156 at-bats against Arroyo. Right-handed hitters are hitting .246 in 126 at-bats.
Astros manager Brad Mills wrote five left-handers into Sunday's lineup, four of whom Arroyo had faced two or fewer times. Arroyo insisted that facing more lefties in recent starts hasn't been discouraging.
"Pretty comfortable either way," Arroyo said.
His ERA rose from 3.59 to 3.91, the highest it has been since his first start of the season. He hadn't given up more than four earned runs in a start in 2012.
The Reds' offense, which erupted for 12 runs in Saturday's victory, was pretty quiet on Sunday. Zack Cozart hit a two-run homer in the third inning, his sixth of the season.
Astros starter Jordan Lyles, up and down from Triple-A Oklahoma City all season, tamed the Reds' bats for seven innings, giving up five hits and two runs.
"The young man today, Lyles, he threw the ball well," Baker said. "He threw the ball very well."
Lyles also faced the Reds on April 29. He pitched decently in that outing, giving up three runs in six innings. Baker didn't really remember any details about Lyles' first start against the Reds.
"All I know is that he was dealing today," Baker said.
Astros catcher Jason Castro said Lyles was really trying to work the inner half of the plate, which can be risky against a team that relies on the home run.
"If it's too fine, you're going to hit him, and if you miss too far over the plate, that's a dangerous spot to be pitching with a lot of guys, especially with a lot of guys in the Reds' lineup that have pretty big pop," Castro said. "It's tough, but he really did that well today, and that's why he was effective and that's what we need from here on out."
The Reds never sent more than five batters to the plate in any inning, but they had a rally going in the eighth against the Astros' Wilton Lopez. With the score 5-2, Joey Votto stepped up to the plate with runners on the corners.
He hit the ball deep to left-center field, but center fielder Jordan Schafer tracked under it and made the catch just in front of the wall. Todd Frazier scored from third, but Brandon Phillips grounded out to end the inning.
Brett Myers came on for the Astros in the ninth and pitched a one-two-three inning for his 13th save. Pinch-hitter Ryan Ludwick swung and missed at Myers' final pitch.
The Reds are 15-14 on the road and haven't had a road sweep this season.
"You always want to sweep," Baker said. "It's hard to sweep in their home, but we still had some action today. They played pretty well."
With an off-day in Cincinnati on Monday, the Reds will have to sit with the loss until they kick off a three-game home series with the Pirates, who closed their deficit in the NL Central to three games with a win Sunday.