Houston, TX (SportsNetwork.com) - Evan Gattis hit a two-run home run and the Houston Astros hung on for a 4-3 win over the Seattle Mariners in the second of a four-game set.

George Springer and Jake Marisnick added solo home runs for the Astros, who have ripped off eight straight victories.

Long reliever Samuel Deduno got his first start of the season and allowed a run on three hits with two walks and four strikeouts over four innings. Josh Fields (1-0) got the win for 1 1/3 innings of scoreless work.

Nelson Cruz and Logan Morrison hit solo homers in the ninth, and Robinson Cano added an RBI double for the Mariners, who have dropped their past two. Roenis Elias (0-1) gave up three runs on six hits while walking three and striking out eight in six innings.

"(Elias) did a nice job," said Mariners manager Lloyd McClendon.

The Astros jumped on top in the first inning, as Jose Altuve led off with a walk and Gattis smacked a two-out homer over the left field wall for a 2-0 lead.

In the second, Houston added to its lead when Marisnick hit his third homer of the year, a solo blast to left.

Seattle got one back in the third when Austin Jackson worked a two-out walk and Cano followed with a double to right to make it a 3-1 game.

Deduno gave up a one-out triple in the fourth to Logan Morrison, but left him there after getting the next two batters out.

Springer smacked a two-out solo homer in the eighth to give the Astros a 4-1 lead.

Cruz hit a leadoff homer run off Luke Gregerson to start the ninth, and Morrison added a one-out shot to make it a one-run game. Gregerson, though, retired the next two batters for his fifth save of the season.

Game Notes

Altuve went 2-for-3 and recorded his ninth straight multi-hit game. He also has a 10-game hitting streak ... The Astros took two of three from the Mariners in Seattle in from April 20-22.