Saunders (11-13) broke a personal four-start winless streak, limiting the Astros to six hits while overcoming three walks and striking out two.
Carter Capps and Yoervis Medina each tossed 1 1/3 scoreless relief frames and Danny Farquhar notched his 11th save as the Mariners took a third straight from Houston.
Kendrys Morales, Nick Franklin and Dustin Ackley each knocked in a run in the first.
Dallas Keuchel (5-8) was hung with the loss, surrendering three runs on four hits in a seven-inning performance.
The Astros dropped a fifth straight overall.