Jonathan Villar had two hits and an RBI and Carlos Corporan drove in a run for the Astros, who won just their 50th game of the season.
Brad Peacock (5-5) gave up a solo homer to Kendrys Morales among three hits allowed over six innings.
"He's been outstanding from the time we called him back up. It's been quality start after quality start," Astros manager Bo porter said.
Brandon Maurer (4-8) was pegged with the loss after giving up five runs on seven hits over three innings.
"When (Maurer) gets into trouble he is not able to control the damage and he can't stop it. It dominos on him," Mariners manager Eric Wedge said.
The Astros pushed two runs across in the second and three in the third to take an early 5-0 lead.
In the second, Dominguez doubled then scored on Marc Krauss' double to right. Corporan followed with a base hit to plate Krauss.
In the third, Villar singled, stole second and then scored on Brett Wallace's single. Dominguez followed with a ground-rule double to put runners on second and third. Carter then stroked a two-run single to left to give the Astros a five-run cushion.
Morales blasted a leadoff homer in the fourth to get the Mariners on the board.
Villar's RBI single in the ninth made it 6-1.
Houston was 5-for-9 with runners in scoring position ... Villar stole his 17th base of the season ... Morales stroked his 21st home run of the season ... Maurer hasn't won since Aug. 20.
09/12 02:55:26 ET