SEATTLE (AP) — James Paxton wanted a healthy return from the disabled list and a chance to beat the first-place Houston Astros.

He and the Seattle Mariners got just that with a tidy 2-0 victory Monday night.

Paxton excelled in his first start since suffering lower back inflammation in Anaheim on July 12, and he needed to in order to outduel Houston starter Gerrit Cole, who had a perfect game through four innings.

Both pitchers traded high-90s fastballs and sharp breaking stuff in a scoreless tie until Nelson Cruz's two-run double in the sixth inning accounted for all the scoring.

"Cole was about as good as you can get, and Pax is out there matching him back and forth," Mariners manager Scott Servais said. "Probably one of the top pitching games that we've seen all year, on both sides of the ball."

Cole (10-3) retired the first 12 batters he faced, striking out six, until he hit Cruz with a pitch leading off the fifth. After Segura's single, Denard Span hit a clean single to right-center, and Cruz lined a first-pitch slider inside third base.

Segura scored easily, and the ball caromed off the protruding side wall, allowing Span to narrowly beat catcher Max Stassi's tag after a strong throw by left fielder Marwin Gonzalez.

"He was dealing," Cruz said of Cole. "We battled. We found a way to get runners on base. He's a really tough pitcher to score runs on."

Paxton (9-4) was solid for Seattle, scattering three hits — two of them infield singles — over seven innings. He struck out eight, did not walk a batter, and threw 59 of his 82 pitches for strikes.

"He was good," Astros shortstop Alex Bregman said. "His fastball was jumping. 12-6 curveball and then a cutter as well. Both pitching performances were pretty dominating tonight, him and Gerrit. We just came up a little short."

Cole allowed four hits over 6 2/3 innings, striking out eight and walking two.

Mariners reliever Alex Colome covered the eighth and closer Edwin Diaz pitched the ninth for his 40th save. The Mariners improved to 63-43 and cut the lead of Houston (67-41) in the AL West to three games.

FELIX'S FUTURE

Amid speculation that Felix Hernandez's spot in Seattle's rotation could be in jeopardy, Servais said he and general manager Jerry Dipoto have decided to keep the veteran right-hander in the five-man rotation for the time being. Hernandez is 8-9 with a 5.58 ERA.

"That could change, but as of now it's where we're at," Servais said. "We'll continue to talk about it. You just want to do what you can to give your club the best chance to win every time out."

TRAINER'S ROOM

Astros: SS Carlos Correa, who has been on the disabled list since June 26 (lower back soreness), hit off a high-velocity machine and said it went well. He expects to play in minor league rehab games soon. ... 2B Jose Altuve, on the DL with right knee soreness since July 26, is in Houston to attend to family matters and is slated to rejoin the team in Los Angeles over the weekend.

Mariners: 3B Kyle Seager went on paternity leave Monday, creating the roster spot for Paxton's return. Servais said Austin Romine would play third in Seager's absence, which could last another day or two. "He should enjoy the day with his family," Servais said of Seager. "I'll probably talk to Kyle tonight or tomorrow and see where he's at family-wise." ... The Mariners made one more move, calling up infielder Zach Vincej from Triple-A Tacoma and optioning first baseman Daniel Vogelbach.

UP NEXT:

Astros: RHP Charlie Morton (11-2, 2.89) gets the start for Houston on Tuesday. Morton beat the Mariners the only time he faced them this year on April 19 in Seattle, pitching seven scoreless innings and striking out eight while allowing three hits.

Mariners: RHP Mike Leake (8-6, 4.15), who starts for Seattle on Tuesday, has thrown seven or more innings in seven of his 21 starts this season, including three outings of eight innings.

More From 1460 ESPN