Harang (3-6) notched 10 strikeouts and did not walk a batter while holding the Astros to just two hits.
Michael Saunders and Kyle Seager also had RBI for the Mariners, who have won two in a row.
Bud Norris (5-6) had a respectable outing despite taking the loss. Norris allowed three runs on five hits over seven innings and struck out six.
Houston lost its sixth consecutive game.