HOUSTON (AP) — Edwin Diaz was supposed to be off on Sunday after earning saves in each of the last three games for the Seattle Mariners.

Instead, after the Mariners tied the Houston Astros in the ninth inning, the All-Star closer told bullpen coach Brian De Lunas to call the dugout to say that he wanted to try to make it four in a row.

Ryon Healy hit a tying home run with two outs in the ninth, Mitch Haniger delivered an RBI double in the 10th and Diaz finished up as the Mariners beat Houston 4-3 to sweep a four-game series from the AL West leaders.

Diaz allowed one hit in a scoreless 10th for his major league-high 46th save. Manager Scott Servais was pleased but not surprised that Diaz offered to help out on Sunday.

"Sometimes you've got to do that," he said. "That's how Eddie's wired and how this team is wired."

It's the first time in franchise history that Seattle swept a four-game series from the Astros. The third-place Mariners pulled within four games of Houston.

"It feels like a really bad weekend," Houston manager A.J. Hinch said. "Which is all it is ... but we'll be fine. This is not something we can't overcome."

Healy loved that Diaz volunteered to pitch in the 10th.

"I got larger goosebumps after hearing that than after I hit the homer, to be honest," he said.

Healy's solo drive off Hector Rondon made it 3-all. Pinch-hitter Dee Gordon singled against Roberto Osuna (1-1) with one out in the 10th, and the speedster easily scored on Haniger's double that skipped down the left field line.

"That's the defending world champions. We're excited," Gordon said. "That was a big run for us there in the 10th inning. We definitely could have laid down and let them walk us off, but we didn't."

Zach Duke (5-4) pitched 1 1/3 innings for the win.

The Astros had managed just three singles and trailed 2-0 entering the eighth when James Pazos hit Kyle Tucker with a pitch. Pinch-hitter Yuli Gurriel singled before Alex Bregman's single off Nick Vincent with one out cut the lead to 2-1.

Carlos Correa then hit an RBI single to tie it. It was his first hit since coming off the disabled list on Friday after missing six weeks with a sore back. A sacrifice fly by Evan Gattis scored Bregman to put Houston on top.

Houston starter Dallas Keuchel allowed seven hits and two runs — one earned — in seven innings.

The Mariners got a solid start from Erasmo Ramirez, who gave up just three hits in five scoreless innings in his first game since April 27.

Ramirez came off the disabled list before the game to make his third start of the season after sitting out more than three months with a shoulder injury. He took Felix Hernandez's spot in the rotation after the one-time ace was demoted to the bullpen on Thursday night after going 0-4 in his last five starts in a season where he's posted a career-high 5.73 ERA.

Healy got the Mariners on the board with an RBI single in the second.

Mike Zunino's solo homer made it 2-0 in the seventh.

TRAINER'S ROOM

Astros: Hinch said OF Jake Marisnick, who went on the disabled list with a groin injury on Saturday, is expected to be out several weeks. ... C Brian McCann, who has been out since June 30 with a knee injury which required surgery, could begin a rehabilitation assignment next week.

RELIEF DEBUT DELAYED

Hernandez, who has made 398 career starts, has been in the bullpen for four games but has yet to make his first career relief appearance. It looked like he'd get in on Sunday when he warmed up two different times, but after the game turned, he sat back down.

THEY SAID IT

Correa on the team's recent struggles: "We're going to come through and get out of this scuffle and play great baseball once again. We have great hitters in the lineup that can do a lot of damage. It's just about clicking and putting great at-bats together."

UP NEXT

Mariners: Seattle opens a three-game series at Oakland on Monday with LHP Marco Gonzales on the mound. Gonzales, who won five straight from June 29-July 29, looks to get back on track after losing his last two starts.

Astros: The Astros are off on Monday before Justin Verlander is scheduled to start in the opener of a two-game interleague series against the Colorado Rockies on Tuesday night. Verlander will try again to get his 200th win after he allowed six runs in two innings of his last start before being ejected for arguing about a balk in an 8-6 loss to the Mariners.

More From 1460 ESPN