McHugh took a one-hit shutout into the ninth inning and retired the first two batters he faced before running into trouble. Brandon Moss was hit by a pitch, stole second and scored on Alberto Callaspo's bloop single to center. Raul Valdes relieved McHugh and got Craig Gentry to fly out to end the game.
McHugh (2-0), who finished his outing allowing a run on two hits with seven strikeouts, bounced around early in his career, making brief stints with the Mets and Rockies before finding a home in Houston. He went 6 2/3 shutout innings with 12 strikeouts in his season debut against the Mariners on April 22.
Jose Altuve went yard for the Astros. He and Jonathan Villar both had two hits with a pair of RBI.
Tommy Milone (0-2) allowed four runs on five hits over 6 2/3 frames to absorb the loss.
After Oakland scored 10 and 12 runs, respectively, in taking the first two games of this set, Houston won the next two. The Astros are 4-3 in their last seven games after dropping seven straight.