SEATTLE - Chris Carter has picked a perfect time to rediscover his home run stroke.

The big slugger drove in the go-ahead run with Houston's third solo homer, rookie Lance McCullers pitched effectively into the seventh inning and the Astros enhanced their position in the crowded AL playoff race with a 3-2 victory over the Seattle Mariners on Monday night.

George Springer and Evan Gattis also homered for Houston, which moved with 1 1/2 games of first-place Texas in the AL West and maintained its half-game lead over the Angels in the chase for the second wild card. The Rangers lost 7-4 at home to the Detroit Tigers.

Carter snapped 2-all tie in the seventh with his 23rd home run, a two-out shot to left off Danny Farquhar (1-6). Carter has homered in three straight games and five consecutive starts.

"He's been extremely clutch down the stretch here with some really big homers, against right-handed pitching especially, at the most opportune time when we needed it," Astros manager A.J. Hinch said. "It was a big boost for us."

Carter, who had 37 homers last season, is hitting just .196 but is batting .396 with two doubles, six home runs and 10 RBIs in 16 games since Aug. 28.

"I'm just trying to help the team out and try and get us to the playoffs and do what I can when I'm in there," Carter said. "I feel pretty good right now."

McCullers (6-7) allowed two runs and four hits in six-plus innings. He struck out seven and walked two, including a free pass to start the seventh.

Tony Sipp relieved and picked off pinch-runner James Jones, then retired five consecutive batters.

Oliver Perez struck out Kyle Seager to open the ninth. Luke Gregerson fanned Nelson Cruz and Robinson Cano for his 30th save.

"We're chasing a team for the division title and we're being chased by guys for the wild card," McCullers said. "So, it was big to get this first win and hopefully build on this momentum. A good team win tonight."

The Astros remained a half-game ahead of the Angels in the wild-card standings. Los Angeles beat Oakland 5-4.

Minnesota stayed 1 1/2 games behind Houston following a 4-2 win at Cleveland.

The Astros, 30-46 away from home, have five road games remaining. Texas, Minnesota and Los Angeles each have six games left. The Rangers and Angels close with a four-game series against each other in Texas.

"We've never lost confidence on the road," Hinch said. "We're not going to be able to make up for a really rough few months on the road, but we'll feel a little bit better if we can win a few games on the road here and make it really interesting in the end."

Houston took a 2-0 lead in the first on a pair of solo homers off Roenis Elias, who allowed just one other hit over six innings.

"Our young starter pitched a whale of a ballgame," Mariners manager Lloyd McClendon said. "Gave up two runs early and settled down the next five innings and did a great job. And then Danny left a curveball up and the rest is history."

With one out in the first, Springer lined a 2-1 pitch to centre field for his 15th home run. Gattis also jumped on a 2-1 pitch for his team-leading 27th homer, a two-out drive to left.

Seattle answered with a run in the bottom half on a walk to Kyle Seager and consecutive two-out singles by Cano and Mark Trumbo.

Ketel Marte tied it for the Mariners at 2 in the sixth with a leadoff home run, his second.

DIG THE LONG BALL

Springer became the sixth Houston player with at least 15 home runs this season, the first time since 2001 the team has achieved that feat.

TOUGH STRETCH

The Mariners have lost six consecutive games, four by one run. Seattle is 27-28 in one-run games this season.

TRAINER'S ROOM

Astros: OF Carlos Gomez, who pinch ran on Sunday after missing 13 games with a left intercostal strain, took batting practice but was not in the starting lineup. "Looking better and better, but still not quite himself," Hinch said. Gomez entered as a defensive replacement in the seventh and laid down a sacrifice bunt in the ninth.

Mariners: LHP James Paxton, who left his last start in the second inning with a torn fingernail, might not pitch again this season. "I would give that 50-50 chance," McClendon said. ... OF Stefen Romero, who sustained a severe shoulder bruise when he crashed into the wall last week, also might not play again this season, McClendon said.

UP NEXT

Astros: RHP Mike Fiers (7-10, 3.66 ERA) is 2-1 with a 3.18 ERA in nine games (eight starts) since being acquired from Milwaukee on July 31. In his career, he is 3-8 in 17 games (15 starts) in September and October. Fiers has never faced the Mariners.

Mariners: LHP Vidal Nuno (1-5, 3.69) makes another spot start, this time on short rest with Paxton out. Nuno, acquired in early June from Arizona, is 1-4 with a 4.10 ERA in 30 games with Seattle, including eight starts. In his last start on Friday, he gave up five runs and nine hits in 4 1-3 innings.