Bloomquist, who graduated from South Kitsap High School, broke a 1-all tie with a two-run double against Collin McHugh (2-1) and Cano followed with his first triple since June 3, 2012.
Brandon Maurer (1-0) allowed four runs and six hits in five innings for his first win since Sept. 28 against Oakland. Danny Farquhar allowed one run in two innings for his first save since that same game last autumn. 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.
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.
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.
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.
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. John Buck, who had three hits, doubled and scored on Saunders' single in the fourth.
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.