The Mariners had built a 3-0 lead in the second with the help of run-scoring singles from Dustin Ackley and Brad Miller before Franklin came to the plate with the bases loaded and smacked a pitch down the right-field line for a grand slam.
Ackley finished 3-for-4 with two RBI. Miller and Michael Saunders each drove in a pair for Seattle, which banged out 13 hits.
Felix Hernandez (11-4) pitched six shutout innings, scattering four hits while lowering is his ERA to 2.43. The Mariners ace issued one walk and struck out seven.
Astros starter Jordan Lyles (4-4) was lit up for 10 runs (nine earned) on eight hits in just four frames.
Jose Altuve, Matt Dominguez and Brandon Barnes each produced an RBI for Houston.
Ray Liotta sues skin care company over use of likeness
Aaron Carter is still in love with Hilary Duff