Brad Miller and Kendrys Morales also drove in runs for the Mariners, who won for just the third time in 53 games when trailing after seven innings. Franklin left the game after the top of the eighth inning with a left knee laceration.
Josh Donaldson and Nate Freiman both homered for the A's, who dropped 1 1/2 games behind the AL West-leading Texas Rangers. Derek Norris also drove in a run for the A's.
Sean Doolittle (4-5) allowed hits to all four batters he faced in the eighth.
Brandon Maurer (4-7) pitched a scoreless seventh for the victory.
Danny Farquhar earned his eighth save in 11 chances with a scoreless ninth.
A's rookie Sonny Gray threw seven solid innings, giving up two runs and two hits. He walked two and struck out seven.
Mariners starter Joe Saunders went six innings, giving up four runs and 10 hits. He struck out two and walked three.
The Mariners scored five times in the eighth, getting RBIs from Miller, Franklin and Morales and scoring two runs on wild pitches.
Franklin beat the throw home on Morales' grounder and caught his left knee on Norris' cleats, tearing a hole in his pants and forcing him out of the game with a laceration that required stitches.
Norris, who stood up awkwardly arguing the call, also left the game with an apparent left knee injury.
The A's used three pitchers, who needed 53 pitches, to get through the eighth. Doolittle has allowed six runs over his past four appearances, a span of 2 2-3 innings.
The A's scored all their runs within the first five batters of the game.
Jed Lowrie led off with a triple and scored on Norris' single. Donaldson followed with his 18th home run. After Yoenis Cespedes grounded out, Nate Freiman hit a solo shot.
Franklin hit a two-run home run in the third to bring Seattle within 4-2.
Gray took care of the rest, retiring 13 of the final 14 batters he faced. He's thrown at least six innings in all three of his starts.
Gray had a 13-inning scoreless streak snapped when Franklin homered.
Saunders gave up half of his hits in the first inning, settling in to keep Seattle within striking distance. He got double plays in three successive innings to keep the A's off the scoreboard.