Despite giving up 16 hits, the Mariners won their fourth in a row.
Seattle overcame an early two-run deficit with a four-run fourth, two of those runs coming in on a home run by Kyle Seager. Dustin Ackley doubled home the other two.
Miller then hit a two-run homer in the sixth and had a three-run blast in the eighth. He was playing in his 17th major league game, having produced 15 hits in 61 at-bats coming into the contest.
The two home runs by Miller gave Seattle a 9-3 lead and made a winner out of Joe Saunders (9-8). He gave up nine hits over 5 1/3 innings, but held the Astros to three runs.
Tom Wilhelmsen allowed a run on two hits over the final 1 1/3, but still picked up his 20th save.
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'
Man spent 15 hours in jail for plugging electric car into an outlet at a school