HOUSTON — The Seattle Mariners only managed one hit against Houston on Saturday night. That big swing by Michael Saunders was all they needed to put away the last-place Astros.

Saunders got Seattle's only hit with a two-run double with two outs in the seventh inning to lift the Mariners to a 4-2 victory.

Erik Bedard (3-7) pitched 6 1-3 innings of no-hit ball before he was replaced by Jose Cisnero, who walked Mike Zunino with two outs before the double by Saunders put Seattle ahead 4-2.

The long fly ball sailed just out of reach of sprinting center fielder Brandon Barnes and landed at the top of Tal's Hill in straightaway center.

"That was the longest double I've ever had," Saunders said. "I definitely put a good swing on it. I guess if the hill isn't out there, maybe he runs it down. Or if the hill isn't out there, maybe it's a home run. I don't know. But it fell, we won and that's all that matters."

Bedard had thrown 109 pitches when he left the game. Houston manager Bo Porter gave him the option of staying in, but the 34-year-old was ready to go.

"I've had three shoulder surgeries," Bedard said. "I'm not going over 110 (pitches). I'd rather pitch a couple more years than face another batter."

The Mariners, who extended their season-high winning streak to five games, tied it in a wacky sixth inning by scoring two runs thanks to a combination of passed balls, walks and a sacrifice fly.

It was the Mariners' fewest hits of the season and they struck out 15 times, but they were helped by drawing six walks.

"I would say it was the strangest game I've been involved from Little League to the big leagues when you give up one hit and punch out 15 guys and end up on the losing side of it," Porter said. "But it's crystal clear how we ended up on the losing side of it. When you walk (six) guys and all four of their runs that score are via the walk, there's no defense for it."

Travis Blackley and Jose Veras each pitched a scoreless inning to complete the one-hitter.

It was the third time the Mariners had only one hit in a win. The last was a 1-0 victory over the Yankees on April 27, 2002.

They are the second team since 1916 to score four or more runs with one or fewer hits, the first since the White Sox were no-hit but beat the Yankees 4-0 on July 1, 1990.

And as another example of just how rare such a game is, the last time a team scored four runs on one hit with no errors was in 1914. The Chicago White Sox did it in a 5-4 loss to Detroit, according to information provided by the Mariners from the Elias Sports Bureau.

Seattle starter Hisashi Iwakuma (9-4) allowed seven hits with two runs and seven strikeouts in seven innings to lower his ERA to 2.99. Tom Wilhelmsen pitched a scoreless ninth for his 21st save.

Saunders also helped out on defense, dashing to right-center to reach and make a nifty catch to rob Justin Maxwell of extra bases with no outs in the ninth inning.

Bedard yielded three runs — one earned — walked five and struck out a season-high 10. He walked off the field expressionless and was greeted with a standing ovation when he was replaced by Cisnero.

He relied on fastballs between 90-92 mph and mixed in a few curveballs and changeups to keep the Mariners hitless.

Bedard is the first Houston pitcher to go 6 1-3 hitless innings since Darryl Kile tossed a no-hitter against the Mets on Sept. 8, 1993.

Seattle manager Eric Wedge said it was the best he's ever seen Bedard, a former Mariner, pitch.

"Bedard threw a heck of a ballgame," Wedge said. "He had a great breaking ball going, a live fastball. He did everything good to keep us off-balance but we made him work. We were able to get him out of there at a reasonable time and try somebody else out."

Bedard didn't allow a baserunner until Kendrys Morales walked to start the fifth inning. But he got back on track after that, retiring the next four batters he faced.

He then issued consecutive walks to Saunders and Brad Miller with one out in the sixth inning. Saunders advanced to third and Miller took second on a passed ball by Jason Castro. Saunders scored on a sacrifice fly by Nick Franklin to get Seattle within 2-1.

A second passed ball by Castro allowed Miller to score and tie it at 2.

Raul Ibanez walked before Bedard retired Morales to end the inning.

Bedard retired Kyle Seager on a fly out before he was chased on a walk by Justin Smoak.

The Astros had runners at second and third with no outs in the third inning, but Iwakuma retired the next three batters, with two strikeouts to end the threat.

Matt Dominguez singled to start the fifth before a double by Jake Elmore. Dominguez scored on a sacrifice fly by Jose Altuve with one out to make it 1-0. A single by Castro sent another run home.

Seattle's tough offensive night ended its franchise-high streak of 23 straight games with a home run. It was the Mariners' first game without one since June 19.

NOTES: Seager went 0 for 4 to snap a 15-game hitting streak, which was the longest active streak in the majors. ... The series wraps up on Sunday when Seattle's Felix Hernandez (10-4) opposes Jordan Lyles (4-3). Hernandez leads the American League with a 2.53 ERA. ... Roger Clemens, the seven-time Cy Young Award winner and special assistant to Houston general manager Jeff Luhnow, was at Minute Maid Park on Saturday. He had a talk with the Astros pitching staff and tried to encourage them to stay positive as the losses continue to pile up.

As Inbee Park hunted down Jin-Young Ko in the final stretch of the Women's British Open, it quickly became clear which South Korean was the rookie and which was the player about to add another chapter in golf's record book.