Kyle Seager led the offensive assault with a 3-for-5 night with a home run, double and three RBIs as Seattle racked up eight extra-base hits. The third baseman regained his team lead in home runs at 13 with a solo shot in the ninth and tops the team in RBIs as well with 58.
"We feel good," said Seager, who has hit .409 over his last 17 games. "Top to bottom in our lineup, it's noticeably different. It's a different environment. The whole thing is different. It's a really good feeling. There's nobody out there that's not having competitive at-bats. It's been really good."
Iwakuma improved to 6-4 with a 3.33 ERA as he allowed seven hits with no walks and seven strikeouts. The 2013 All-Star had lasted a season-low five and four innings in his previous two starts, while going 0-1 with a 10.00 ERA, but he smoothed things out against Houston as Seattle won its third straight game.
"We are playing with some good momentum now," Iwakuma said through translator Antony Suzuki. "And being the pitcher for that day, you don't want to stop the momentum. I'm very happy for the team. I'm very happy for the win. I'm happy with myself. I had a couple of big situations and I was able to get out of them."
After posting the second-best record in the American League in June, the Mariners opened July on the right foot as well as they've already clinched their fourth straight series victory heading into Wednesday's final game of the three-game set.
The Mariners have gone 12-4 since June 15 and 39-25 since April 23, the second-best winning percentage in the Majors in that span, to raise their record to 46-38. That's the fourth-best record in the American League and puts the Mariners eight games over .500 for the first time since they ended the 2009 season at 85-77.
Seattle led just 3-1 before blowing things open in the sixth with seven runs, all with two outs, as Robinson Cano, Seager, Logan Morrison and Mike Zunino hit consecutive RBI doubles, with Cano's driving in two to get the rally started. After Michael Saunders' run-scoring single, Dustin Ackley added another RBI double as the Mariners tied a club record for two-baggers in an inning, set in 1991 against the Orioles.
It was the first time in club history that Seattle had six straight run-scoring hits with two outs in an inning.
"It's a great feeling," said Cano, who went 2-for-4 with three RBIs and is now hitting .323 with 51 runs batted in. "As a team you want everybody to contribute and as a team you want the rest of the guys to help. You don't want only two, three guys. You want the whole team and that's what we're doing lately. We're all contributing and doing the little things, moving them over and doing the job with men in scoring position and not trying to do too much in the situation."
Ackley got thrown out at the plate for the second out of the inning on an infield chopper, then wound up doubling nine batters later as the Mariners sent 11 hitters to the plate.
"You don't think you're going to get up again at that point, that was the second out of the inning with the slide," Ackley said. "Then I hit again. It's pretty nuts to do that all with two outs. That's pretty insane."
Red-hot rookie center fielder James Jones continued the onslaught with an RBI triple to deep center in the seventh to cap a 3-for-6 night with two RBIs and three runs. Jones singled his first two at-bats, giving him hits in six straight plate appearances over two games before flying out in the fifth. The Mariners' record is nine consecutive hits by Raul Ibanez in 2004.
Jones has gone 7-for-11 in the series to elevate his average from .271 to .295.
"Everybody was getting pitches to drive and it just worked out that way," said the youngster. "It's definitely fun when that gets going. I'm just happy it kept going."
Ackley snapped an 0-for-21 skid with a single in the second inning and finished 3-for-4 with a walk as every Mariners starter recorded a hit. But manager Lloyd McClendon said he didn't want to overanalyze the offensive eruption, knowing baseball runs in cycles.
"This is just one of those nights where the bats came alive and we were swinging well," he said. "We haven't had one of those all year. It was one of those nights where we came out on the good end of it."
The Astros fell to 36-49, while Cosart saw his personal four-game win streak snapped as he dropped to 8-6 with a 3.93 ERA. Reliever Darin Downs replaced Cosart with two outs in the sixth and gave up the last four doubles in that frame as his ERA jumped from 2.33 to 4.12.
"Right now, you give the Seattle Mariners a lot of credit," said Astros skipper Bo Porter. "They're playing really good baseball right now. They're pitching well, they're swinging the bats unbelievable, and we're going to have to play better in order to beat them, because they're playing really good right now."