SEATTLE (AP) -- The Seattle Mariners couldn't close out their final chance at playing the role of spoiler this season.
Instead, the Mariners watched Houston rally from a three-run deficit and retake control of the race for the second AL wild-card spot.
Colby Rasmus' broken-bat RBI single capped Houston's rally Wednesday night for a 7-6 win.
Seattle's bullpen failed to close out a 6-3 lead and saw the Astros move a half-game in front of Los Angeles, which lost at home to Oakland. A day earlier, the Angels passed the Astros.
Houston committed four errors and needed six pitchers, but was able to get out of Seattle with two wins.
"Just so many dramatic plays, dramatic at-bats, a lot went right our way. It wasn't pretty but at this point I don't care what it looks like, let's just get the win," Houston manager A.J. Hinch said.
Expectations before the season were that Seattle was going to be the team fighting for postseason positioning going into the final weekend of the season, not the Astros.
But as was the case too many times this season, the Mariners bullpen failed in key spots.
The most damaging blow was J.C. Ramirez failing to record an out in the sixth inning and giving up a three-run homer to Chris Carter, his 24th of the season, to draw Houston even.
Rasmus' blooper off Danny Farquahar (1-7) over a drawn-in infield scored pinch-runner Jonathan Villar in the seventh to give Houston the lead. Evan Gattis tripled with one out in the inning, helped by Brad Miller in right field taking a bad step and slipping.
"Very unfortunate. He had a beat on the ball and his feet gave way," manager Lloyd McClendon said.
Houston's bullpen pitched shutout ball over the final four innings. Tony Sipp (3-4) got out of a jam in the seventh, and Will Harris and Oliver Perez worked through two errors by rookie shortstop Carlos Correa for a scoreless eighth.
Luke Gregerson pitched the ninth for his 31st save, capped when center fielder Carlos Gomez caught a line drive by Franklin Gutierrez and doubled pinch-runner James Jones off first base to end the game.
"Just a bad read on my part. Off the bat it was more to the gap than what I read it and I just got too aggressive," Jones said.
Kyle Seager and Nelson Cruz hit back-to-back homers in the fifth for Seattle. Seager hit a three-run shot, his 26th of the season and a new career-high. Cruz followed with his 44th to give Seattle a 6-3 lead, putting him one behind Baltimore's Chris Davis for the most in the majors.
McClendon said Cruz's timing was better.
"He's been out of whack a little bit. Big guys do that. I know that home runs come in bunches and hopefully he'll get a home run in the next few days," McClendon said.
Backup catcher Jesus Sucre had a career night with hits in his first three at-bats, including an RBI single in the second inning to give Seattle a 2-0 lead. Sucre had just 14 hits all season entering the game, but missed out on a 4-for-4 night when he popped out in the eighth inning.
"It's a little different when you are playing a little more," Sucre said. "The timing gets a little better, you can see the ball a little better."
Astros: Houston will go with Dallas Keuchel in the series opener on Friday night in Arizona, followed by Collin McHugh on Saturday and a starter to be determined for Sunday's regular season finale. Hinch said the decision to have Keuchel throw on Friday leaves open the chance he could pitch in the AL wild-card game next Tuesday if the Astros make the postseason.
Mariners: Felix Hernandez is done for the season and will not pitch in the final series against Oakland. McClendon said he didn't want to extend Hernandez for one more spot in games that don't have any meaning. Hernandez finished the year 18-9.
Astros: Houston has an off-day before beginning final series in Arizona against the Diamondbacks.
Mariners: Seattle has a day off before opening final series at home against Oakland.