Javier (2-1) struck out five and walked three. The 23-year-old right-hander rebounded nicely after surrendering five runs in three innings in his last start against Oakland on Aug. 9.
"Tonight, he had life on the fastball from the opening pitch," Houston manager Dusty Baker said. "He struck out the side in the first inning. … It was just a matter of him finding the strike zone tonight."
Javier retired 10 of the first 12 batters before Kyle Seager walked and a single by Austin Nola accounted for the Mariners' only hit off the rookie in the fifth. Javier induced a double play from Daniel Vogelbach and struck out Shed Long Jr. to end the inning.
"I feel like I have the same plan every time out," Javier said through a translator. "I'm really starting to find my rhythm at the big league level and starting to feel comfortable here."
Gurriel extended Houston's lead to 2-0 in the fourth with a solo home run that just made it over the fence, out of the reach of center fielder Kyle Lewis.
Jose Altuve gave the Astros a 1-0 lead in the second on an RBI groundout, scoring Yordan Alvarez. Altuve was moved to seventh in the lineup and went 1 for 3 with a single in the seventh to bump his batting average up to .181.
Baker said Altuve came to him and asked to be moved down in the lineup.
"He's a consummate team man because I only had one other player come and tell me that my whole career," Baker said. "Usually, guys don't come tell you 'Hey, move me down in the order'. He did it for the betterment of the team."
Evan White cut Houston's lead to 2-1 with a solo home run in the eighth.
Ryan Pressly pitched the ninth for his second save of the season.
Houston has won 23 of their last 25 against the Mariners. Seattle lost its fourth straight game.
"Certainly, much different type of ballgame tonight, unfortunately not much of a different result," Seattle manager Scott Servais said.
Nick Margevicius (0-1) allowed two runs on four hits with three strikeouts in six innings.
"Struggled to put anything together offensively," Servais said of the Mariners' lack of run support. "Marge set the tone on the mound tonight, really encouraged and like what we've seen out of him so far."
Mariners: LHP Nestor Cortes was placed on the 10-day injured list with left elbow impingement. … Seattle designated RHP Bryan Shaw for assignment. … The Mariners recalled LHP Taylor Guilbeau from their alternate site and selected RHP Llay Newsome from the alternate site.
Astros: OF Michael Brantley was placed on the injured list with right quad discomfort. The move was retroactive to Aug. 12. The Astros will announce a corresponding roster move before Sunday's game. … Houston activated RHP Joe Biagini from the IL and optioned RHP Brandon Bailey to the alternate training site.
Mariners: LHP Justus Sheffield (1-2, 5.27) is scheduled to make his fourth start of the season on Sunday. He four hits in six scoreless innings on Aug. 9 in a win over Colorado.
Astros: RHP Lance McCullers, Jr. (2-1, 6.10) will make his fifth start on Sunday. He threw seven shutout innings, allowing one hit in his last start on Aug. 10 against San Francisco.
Copyright 2020 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.