Though the American League West lead remains unchanged, at 4 1/2 games, due to an A's loss, the Astros set the Angels' 10-game road trip on a rocky course, and Los Angeles has now lost four of its last five road games.
"We have to come in and not take teams like this for granted," said starter Jered Weaver.
Right-hander Collin McHugh flummoxed Angels hitters throughout, with the only run he surrendered coming on a bobbled double-play ball at shortstop that could have ended the frame. Instead the miscue earned Mike Trout his career-high 98th RBI.
That was all the Angels mustered off McHugh, who is now 2-2 against them this season, with a 2.28 ERA and 23 strikeouts in 23 innings. The journeyman-turned-front-end arm frequently fooled Los Angeles with his signature vertical curveball, including a called third strike that drew Albert Pujols' ire.
"We've seen [McHugh] a couple times and felt we had a good approach last time," said manager Mike Scioscia. "We didn't get many good looks at him.
"His ability to throw strikes and change speeds -- he brought the breaking ball in as an out pitch. We couldn't get that game on our terms, and that's [partly] because of him."
The game was a rematch of Weaver and McHugh's duel from May, which Weaver and the Angels won, 2-1.
"Going up against their guy, it was a battle last time, and he's throwing the ball really well for them," Weaver said. "He did a great job keeping our guys off balance."
McHugh lasted 7 2/3 innings, allowing the lone run (still an earned one) while fanning eight.
Weaver was fairly impressive in his own right, though maybe just shy of his own lofty standards in recent months.
The lanky righty lasted six-plus innings and only allowed five hits, but he took the loss on a night when he could have claimed the AL lead in wins. It was just his second defeat in 15 starts since mid-June.
Houston's Chris Carter is hitting most pitchers right now, though, and he launched a moonshot homer -- his 34th of the season and 21st since July 1 -- off Weaver in the second inning to put the Astros in front early.
"It was just a fastball. That's why I like pitching in Anaheim -- because I felt like he hit it off the end of the bat, but he's strong as an ox, and you saw where he put it.
"He's put up some home runs this year. It's no secret, and he did it to us tonight."
The Astros backed that homer in the fourth with Jason Castro's RBI single, and Carter provided some separation with a two-run blast off Fernando Salas in the eighth.
"It's nice [to beat the Angels]," Carter said. "The A's couldn't do it, but we came in and beat them a couple games, so … We're having fun."
Meanwhile, the Angels' offense hit a few balls hard but never really got to McHugh.
Only three players managed hits, and Erick Aybar's 17-game hitting streak ended, as he didn't put a ball out of the infield during an 0-for-3 night.
"We had some opportunities and guys in scoring position," said Kole Calhoun, who had a pair of hits. "We had things rolling [last week] and then the off-day [on Monday], and now we've got to figure it out again."
Overall, the Angels might be happy to be done playing in Minute Maid Park this season. They finish with a 4-5 mark in Houston for 2014.
"That's the thing about a Major League schedule, it doesn't matter what a team's record is or if they don't have quite as many wins as they'd hoped. … It comes down to who is on the mound and the lineup on the field," Scioscia said. "Houston has played us tough, really took it to us last year, and they play tough again this year."
The Angels will get another crack at the Astros with a three-game series against the pesky divisional foes at home next week.
"Put this game behind us," Scioscia said. "We weren't thinking about yesterday today, and we're certainly not going to be thinking about today tomorrow.
"We need to move on, catch our breath. We've done a lot of terrific things the last two months, and now we need to get back on that horse."