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.
Beyonce flaunts bikini body, Blue Ivy in vacation pics
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'