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.
Pistorius testifies he didn't consciously pull trigger when he shot girlfriend
Google buys drone maker Titan Aerospace