SEATTLE (AP) -- Felix Hernandez wore an extra ice pack. They're usually only wrapped around his shoulder, not his calf as well.
Despite getting a little physically beat up, Hernandez had no problem shutting down Houston.
Seattle's ace struck out nine over eight strong innings for his third straight victory, Willie Bloomquist provided a jolt of offense with his first home run since 2011 and the Mariners beat the Astros 6-1 on Friday night.
''A little bruise. I'm fine,'' Hernandez said. ''He got me, he got me pretty good.''
An extra bruise on Hernandez's left calf was the only downside to Seattle's fourth win in five games that has the Mariners back above the .500 mark.
Hernandez (6-1) allowed only five hits and continued a strong last two weeks on the mound. After going more than a month between victories, Hernandez has rediscovered his form. He has struck out 21 and walked just two over his last three starts. Four of his nine strikeouts against the Astros were looking, a sign that he had command off his fastball.
''Everything was working,'' Hernandez said. ''I was throwing a lot of strikes. The game plan was just to throw strikes and use a lot of fastballs.''
Bloomquist drove in three runs, but the highlight was his two-run homer just inside the left-field foul pole in the sixth. It was his first long ball since Aug. 10, 2011, when Bloomquist was playing for Arizona, a span of 626 at-bats. Bloomquist's homer came on the first pitch after Mike Zunino had doubled off the top of the wall, missing a homer by inches.
Bloomquist rounded the bases with a wry smile on his face and appeared to be catching plenty of grief in the dugout for the long lapse between homers. His last homer also came against Houston - when the Astros were still a National League team - and led off the bottom of the first inning.
''Don't even go there,'' Bloomquist laughed when asked about his last homer. ''I don't want to remember, let's put it that way. Had a lot of ground-rule doubles in the meantime. I know it's been a while. That's not my swing, but I'll take them when they come if they ever come.''
Kyle Seager also drove in three runs with a two-run single in the first and a broken-bat blooper in the seventh. Robinson Cano also had two hits, raising his batting average to .326.
The only batter to cause Hernandez fits was Jose Altuve, who improved to 8-for-16 all-time against Seattle's ace. Altuve had an RBI single in the third, doubled in the fifth and lined a single off Hernandez's calf in the eighth. Hernandez stayed in and started an inning-ending double play from Dexter Fowler for his final batter.
It was the second straight start Hernandez pitched eight innings.
''Felix was pretty darn good tonight in a lot of different ways,'' Seattle manager Lloyd McClendon said. ''Certainly with his pitch count he was very efficient and he fielded the ball with his glove and his leg.''
Houston's Rudy Owens made his major league debut after getting called up from Triple-A Oklahoma City on short notice. The Astros decided to skip Brad Peacock's scheduled start after he experienced soreness in his forearm. Owens struggled through the first inning then settled down. He kept Houston within 3-1 heading into the sixth despite allowing a baserunner in every inning.
The game got away from Owens (0-1) in just a couple of pitches. After giving up the double to Zunino, Owens watched Bloomquist hit the first pitch out.
Owens was optioned back to Oklahoma City after the game.
''We just couldn't muster anything offensively against Felix and that pretty much was the difference in the ballgame,'' Houston manager Bo Porter said.
NOTES: Mariners RHP Taijuan Walker (shoulder) threw a three-inning simulated game Friday and said he feels ready to go out on a rehab assignment. Walker has not pitched in a game this season. ... Houston OF George Springer was held out of the lineup for second straight day after injuring his hip on Wednesday. ... James Jones extended his hitting streak to 13 games with an infield single in the fourth.