HOUSTON (AP) Having found the kind of stride that eluded them for years, the Houston Astros are getting good at grinding out wins.
Jose Altuve's RBI single in the 10th inning - his first career game-ending hit - lifted the Astros to their seventh straight victory, 3-2 over the Seattle Mariners on Thursday night.
''This game was very important for us because of the way we're playing,'' Altuve said. ''(We wanted) to keep the momentum going.''
Marwin Gonzalez doubled down the right-field line with one out against reliever Dominic Leone (0-2). After a walk to pinch-hitter Colby Rasmus, Altuve got his third hit of the game - lining a single to left field to drive in Gonzalez and snap the Mariners' three-game winning streak.
''There's an energy about this team when the game is on the line,'' Houston manager A.J. Hinch said. ''The bullpen came in and they all did exactly what they were asked to do.
''And then we had the right guy up at the end.''
Luke Gregerson (2-0) pitched a scoreless 10th to pick up the win.
Evan Gattis drove in two runs for the Astros, who at 15-7 (.681) finished with their best winning percentage for April since 1986.
Houston starter Scott Feldman settled in after a shaky first to go seven innings.
The Astros needed an extended outing from its starter to avoid complications with the rotation and Feldman's outing allowed the team to rest long reliever Samuel Deduno for Friday's start.
''We did a lot right, and I thought Feldman set the tone by grinding through his outing,'' Hinch said.
Feldman gave up the two runs in the first inning.
''Just one of those innings you have to try to keep your head above water,'' said Feldman, who struck out two and walked two. ''Really, I knew that if could limit the damage, the way we've been swinging the bat and the kind of baseball we've been playing, we'd be right in it.''
He had helped defensively, but also benefited from the Mariners' inability to score. Seattle went 4 for 13 with runners in scoring position and left seven on base.
''It was one of those games that looked extremely close because we kept it close,'' Mariners manager Lloyd McClendon said. ''We had opportunities to certainly put some runs on the board and we didn't do it.''
The Mariners took a 2-0 lead in the first inning on Nelson Cruz's double-play grounder with the bases loaded, and Kyle Seager's RBI single.
Gattis had a run-scoring grounder in the bottom of the inning, and then had another in the sixth to tie the score.
James Paxton also went seven strong innings for Seattle. He gave up two runs and five hits while striking out seven and walking two.
''The last week and a half, it has been good magic,'' Gonzalez said of the Astros' run. ''We have come back over and over and are playing real good baseball. It's exciting.''
Astros: SS Jed Lowrie, who tore a ligament in his right thumb in Monday's win at San Diego, will have surgery Friday in Houston. He is expected back after the All-Star break. ... LHP Brett Oberholtzer, sidelined with a blister on his left index finger, made his first official injury rehab assignment for Triple-A Fresno.
Mariners RHP Carson Smith pitched a scoreless eighth inning in relief and has yet to allow a run in his major league career, spanning 20 games and 18 1-3 innings. It is a club record for most consecutive appearances and scoreless innings to open a career without allowing a run.
Altuve's eight consecutive multi-hit games stand as the third longest streak in Astros history. He trails only Jesus Alou (1969) and Billy Hatcher (1987), both of whom had nine multi-hit games in a row.
After the game, the Astros optioned OF L.J. Hoes to Triple-A Fresno and recalled LHP Kevin Chapman.
Astros: RHP Deduno (0-0-1, 2.89 ERA), who had his first career save on April 12 at Texas, starts in the second game of this weekend series. Deduno is 16-17 with a 4.43 ERA in 42 career starts.
Mariners: LHP Roenis Elias (0-0, 3.85 ERA) will make his second start of the season since being called up from Triple-A Tacoma on April 26.