Chone Figgins' seventh-inning RBI double broke a tie and Seattle swept its three-game set with Detroit in 5-4 fashion on Thursday.
Justin Smoak broke an 0-for-15 spell with a first-inning three-run homer, Miguel Olivo added a solo shot and Charlie Furbush (1-1) fanned two around a groundout in the sixth to get the win.
Brandon League allowed two singles in the ninth but got Alex Avila to ground into a game-ending double play to record his seventh save in eight opportunities.
"They came back at us and we were able to counterpunch. That's what you have got to do," said Smoak.
Starter Hector Noesi allowed no hits through four innings but was tagged for four runs on five hits in the next inning-plus to receive a no-decision.
Rick Porcello (1-2) gave up five runs on seven hits in 6 2/3 frames to take the loss. Miguel Cabrera hit his sixth home run of the year in the losing effort.
Smoak got things started by blasting Porcello's 2-2 changeup over the fence in right-center with Figgins and Ichiro Suzuki aboard.
Olivo added to the lead with two outs in the fourth by pulling a first-pitch slider into the right-field seats.
Ryan Raburn got the hosts within three on a run-scoring single in the home fifth, and a three-run sixth tied the game.
Andy Dirks began the rally with a triple, and he came home on Brennan Boesch's base hit. Cabrera followed with a two-run homer that made it 4-4.
But Figgins plated Brendan Ryan with a double to take back the lead a half- inning later.
The Tigers had two runners aboard with one out in both the seventh and ninth innings, but failed to get a ball out of the infield either time as they dropped their fourth straight game.
"We are all involved in this together and that is just the way it is. We have just got to get aggressive, take charge and get after somebody," Tigers manager Jim Leyland said about his team's losing streak.
It was the first three-game sweep of the season for Seattle. The Mariners took a two-game series from Oakland in early April...The Tigers released infielder Brandon Inge following the game...Alex Liddi was caught stealing and committed an error for Seattle.