It was Houston's fourth straight victory and 11th in the last 12 games.
Fiers (6-3) scattered four hits over six innings. Ken Giles and Luke Gregerson didn't allow a hit in an inning each and Chris Devenski threw a scoreless ninth.
The Astros didn't have a baserunner until Miguel Gonzalez (1-4) plunked George Springer to start the fourth inning. He then walked Luis Valbuena before Jose Altuve grounded into a double play that left Springer at third.
Houston's first hit came next when Carlos Correa's strange infield popup dropped in front of shortstop Tim Anderson and allowed Springer to score and make it 1-0.