Seattle won for the ninth time in 10 games and moved within four games of the .500 mark.
The Mariners drove starter Kevin Correia (7-7) from the mound by sending 10 men to the plate in the second. Six of the first seven of them reached base with Mike Zunino, Dustin Ackley and Brad Miller all driving in a run.
Franklin came up with Ackley and Miller aboard and hit his eighth home run.
Hisashi Iwakuma (10-4) picked up the easy win, striking out nine and allowing four hits through six shutout innings.
The Twins, whose two runs did not come until the ninth inning, fell to 2-2 on their seven-game western road trip.