John Jaso collected two hits and drove in three runs and Seattle used a six-run eighth inning to subdue Texas, 10-3, in the middle test of a three-game set.
Ichiro Suzuki, Mike Carp and Dustin Ackley added an RBI apiece for the Mariners, who put the brakes on a five-game losing skid with authority.
Michael Saunders totaled three hits, while Justin Smoak and Brendan Ryan scored twice each. Jason Vargas (6-4) allowed five hits and three runs over 6 2/3 innings to earn the win.
Josh Hamilton hit a two-run shot and knocked in all three runs for the Rangers, who had won four in a row.
Scott Feldman (0-3) was responsible in defeat for four runs -- two earned -- and four hits with three walks over 4 2/3 frames.
During the game, the Rangers announced the signing of free-agent right-hander Roy Oswalt to a minor league contract, pending the passing of a physical.
Rangers president Nolan Ryan knows Oswalt and said the veteran pitcher has a good relationship with the team already.
"I think he knows some of our players, so I think he's familiar with us and he's pitched here," said Ryan. "I think there were a lot of things ... We're in close proximity to his home. I think all those things came into play and probably the fact that we're in the pennant race."
In the home sixth, a leadoff single from Elvis Andrus turned into a 4-3 contest after Hamilton followed with a two-run blast to center.
But the Mariners answered with that outburst in the eighth, It begun when Kyle Seager doubled and Smoak singled to put two in scoring position against Alexi Ogando. Jaso singled home Seager and Mike Adams came on in relief, but served up a base hit to Saunders which loaded the bases.
Four straight balls in play produced four more runs: Ryan reached on a fielder's choice grounder to score Smoak, and an Ackley single brought in Jaso, Carp's single then chased in Saunders and with Mark Lowe on the hill, Suzuki's sacrifice fly to right sent Ryan to the plate. A wild pitch then allowed Ackley to come home to cap the burst at 10-3.
Shawn Kelley and Lucas Luetge combined to hold back the hosts despite two on in the eighth, then Tom Wilhelmsen posted a scoreless ninth.
Hamilton's ground out in the first scored Andrus, who doubled with one down.
Seattle came back with two in the second as Seager singled with one out and Jaso cleared the wall in center with two down.
It was 4-1 for the visitors in the fifth as Adrian Beltre's throwing error on a Jesus Montero grounder plated two runs. Ryan and Ackley, both of whom walked, came around on the gaffe.
The six runs matched a season high for Seattle in any inning, while also matching a season high for runs allowed in an inning by Texas...Ogando was charged with four hits and three runs -- two earned -- in his one-plus inning of relief...Adams was tagged for three hits and three runs -- two earned -- while failing to retire a batter.