HOUSTON -- The Seattle Mariners couldn't do anything against Houston's Collin McHugh in his first start against them this season.
Sunday's game was a lot different.
Robinson Cano and Willie Bloomquist each drove in two runs, and the Mariners pulled away in a four-run third inning to beat the Astros 8-7.
Bloomquist broke a 1-all tie with a two-run double against McHugh (2-1) and Cano followed with his first triple since June 3, 2012.
McHugh, who entered with a 0.59 ERA and 19 strikeouts in two starts, gave up six runs -- five earned -- and eight hits in four innings. He allowed three hits and struck out 12 in 6 2-3 scoreless innings against Seattle on April 22.
"We had no knowledge of him the first time, and the young man threw the ball pretty good," Seattle manager Lloyd McClendon said. "This time I thought we had better at-bats, gave him stressful at-bats. His pitch count was up, and we were able to take advantage of it."
Houston manager Bo Porter said McHugh struggled with his offspeed pitches Sunday.
"What you saw today was a Seattle Mariners team making an adjustment from the last time they faced him," Porter said. "He didn't have the sharpness to his breaking stuff like he did that day in Seattle."
Brandon Maurer (1-0) allowed four runs and six hits in five innings for his first win since Sept. 28 against Oakland.
McClendon was proud of how Maurer got out of the fifth.
"It was a big inning in a lot of ways for him from a mental standpoint," McClendon said. "I think he learned a lot. And I think maybe he grew up a little bit."
Danny Farquhar allowed one run in two innings for his first save since that Sept. 28 game. Farquhar allowed a two-out single to Jason Castro that pulled Houston within one run in the ninth, then struck out Matt Dominguez to end the game.
Alex Presley and Jonathan Villar homered, and Chris Carter and Marc Krauss had two RBIs apiece for the Astros, who lost for the seventh time in 10 games and dropped to a big league-worst 10-21.
It was the second straight game with a homer for Villar, who leads the team with five and his 14 extra-base hits are most among American League shortstops.
Cano hit an RBI groundout in the first after Michael Saunders singled leading off and took third on McHugh's errant pickoff throw, which went for an error. Saunders is hitting .444 with four RBIs in four games in the leadoff spot.
Presley's leadoff homer tied the score in the second.
After Cano's triple, Corey Hart singled for a 5-1 lead in the third.
"Just not executing pitches very well is what it comes down to," McHugh said. "I just missed with a couple of pitches here and there. They put some good swings on it, and that really took the wind out of the sails in that third inning."
John Buck, who had three hits, doubled and scored on Saunders' single in the fourth. Buck had two doubles for his 10th career game with more than one double and first since July 20, 2010.
Carter, who entered with a .169 average, hit a two-run double in the fourth -- three of his four homers and seven of his 12 RBIs have come off Mariners pitching.
Seattle boosted its lead to 7-3 in the fifth when Jerome Williams walked Dustin Ackley with the bases loaded. Villar homered in the bottom half.
NOTES: The Mariners optioned OF Abraham Almonte to Triple-A Tacoma after the game. A corresponding roster move is expected on Monday. ... Houston designated LHP Raul Valdes for assignment and recalled LHP Darin Downs from Triple-A Oklahoma City. ... Astros starter Scott Feldman, who has been on the DL since mid-April with right biceps tendinitis, felt good after throwing 60 pitches in a simulated game on Sunday. ... McClendon said there won't be any pitch limitations on RHP Hisashi Iwakuma in his next start after he threw 81 pitches Saturday in his first outing after coming off the DL. "There's no reason why he can't go 100 or 105 pitches next time out," McClendon said.