Saunders (1-1) scattered six hits and walked just one to improve to 7-0 with a 1.91 earned run average in 10 career starts at Safeco Field.
"Joe did great," Mariners manager Eric Wedge said of his starter. "I was glad to have a veteran guy out there in this kind of setting. Your home opener is always a big one."
Carter Capps and Charlie Furbush combined for 1 2/3 scoreless frames in relief, while Tom Wilhelmsen spun a perfect ninth to notch his third save of the season and help the Mariners take the opener of this three-game set.
Kendrys Morales finished 2-for-3 with two RBI, while Michael Saunders collected two hits and two runs scored for the M's, who had lost four of their last five coming into the contest.
Matt Dominguez had two of Houston's seven hits, while Philip Humber (0-2) was tagged for three runs on five hits over six frames for the Astros, who have lost six straight since their season-opening win over Texas.
"I know for sure we are a much better offensive club than which we've displayed here early on in the year and we have complete confidence that these guys will hit," Astros manager Bo Porter said. "When it happens, we're going to see some crooked numbers going on here."
Humber, who tossed a perfect game in his last start at Safeco Field, had considerably more trouble Monday, as Michael Saunders stroked his second offering of the contest into left field for a single.
Saunders then stole second and moved to third on a groundout before crossing the plate on Morales' base hit to center to give the M's a 1-0 lead.
Morales and Saunders helped double Seattle's cushion in the third, as Saunders scorched a one-out single, moved to second on a wild pitch and then scored on Morales' double to left to make it 2-0.
Franklin Gutierrez pushed the margin to 3-0 in the fifth when his sacrifice bunt scored Dustin Ackley, who singled to start the inning.