HOUSTON (AP) — If rookie Josh James keeps throwing this way, he might just pitch himself onto Houston's postseason roster.

James struck out seven and scattered four hits over 5 1/3 innings to help the Astros to a 7-0 victory over the Seattle Mariners on Tuesday night for his first major league win.

Houston eliminated the Mariners from AL West contention and moved five games in front of second-place Oakland, which lost 9-7 at home to the Angels.

It was just the second start and fourth career appearance for the 25-year-old James (1-0), who made his debut on Sept. 1. He has a 2.81 ERA with 24 strikeouts.

"I'm really impressed by how he's handling it," manager AJ Hinch said. "There's no panic in him. And that pays dividends moving forward when we're starting to make decisions. Of course, he's factoring in."

James said he isn't focused right now on whether he'll get to pitch for the defending World Series champions in October.

"I'm just trying to contribute and pitch as well as I can," he said. "Postseason roster's really not on my mind right now. I just really want to perform."

Marwin Gonzalez hit a two-run homer in a four-run third for the Astros. Four relievers completed the shutout.

Seattle starter Mike Leake (10-10) yielded six hits and five runs in 6 1/3 innings to snap a two-game winning streak.

"Mike Leake for the most part threw the ball really well," manager Scott Servais said. "It was that one inning. Seems to be the story of his season, and the games we don't come back and win, it's usually that one inning that gets him."

Leake plunked Brian McCann to start the third before Tony Kemp doubled. The Astros took a 1-0 lead when George Springer hit an RBI single, and Springer reached second on the play thanks to an error by left fielder Denard Span. Kemp scored on a groundout by Jose Altuve to make it 2-0.

There were two outs in the inning when Gonzalez sent a drive to left-center that was originally ruled a double. But a replay review revealed it was a homer, pushing Houston's lead to 4-0.

The Mariners couldn't get much going against James. He walked Chris Hermann with no outs in the third before a one-out single by Mitch Haniger. After a short mound visit, James retired the next two batters to end the threat. He allowed a double to Robinson Cano to start the sixth before striking out Nelson Cruz with his final pitch.

Cano doubled twice and tied a season high with three hits, but the rest of the team managed only three hits on a night when the Mariners went 0 for 9 with runners in scoring position.

The Astros padded their lead in the seventh when Yuli Gurriel doubled with one out and scored on a single by McCann. Houston added two more runs in the eighth, with the first one coming when Tyler White's fly to left-center dropped right in between Span and Dee Gordon for a double.

TRAINER'S ROOM

Mariners: LHP James Paxton played catch but was not quite ready to throw a bullpen as he continues to build strength after recovering from the flu and pneumonia. ... RHP Felix Hernandez (hamstring) is doing better and is expected to rejoin the team Friday before the start of a series against the Rangers.

Astros: RHP Lance McCullers Jr., on the disabled list since Aug. 5 with a strained right forearm, threw a simulated game and will throw another one Friday or Saturday. The Astros hope he'll be able to return before the end of the regular season.

MAKE IT A DOUBLE

Cano's two doubles gave him 530 for his career to move him into 40th place on the all-time list.

"Robbie's been out there a long time. It's kind of part of his game, is the extra-base hit and getting the doubles," Servais said. "A couple of those tonight, great to see he swung the bat very well."

UP NEXT

Left-hander Dallas Keuchel (11-10, 3.57 ERA), who has won his last two decisions, will start for the Astros when the series concludes Wednesday. The Mariners hadn't announced their starter, but Servais said it will be a bullpen game.