"We had some guys swing the bats pretty good," Seattle manager Lloyd McClendon said. "They elevated some balls in the strike zone and we took advantage of them."
Kendrys Morales hit a pair of two-run homers, in the second and sixth innings, to lead Seattle. The Mariners also got homers from Mike Zunino, who hit a solo shot in the fifth, and No. 9 hitter Brad Miller, who hit a two-run homer two batters after Zunino to end Rangers starter Scott Baker's night.
Morales entered the night hitting only .213 with three homers in 36 games since coming back to the Mariners from Minnesota in a late-July trade.
"I'm still making adjustments at the plate," Morales said. "I'm starting to get comfortable. It's tough, I haven't gotten there as fast as I would have liked, but hopefully today's a starting point of something better."
Morales was batting fifth for only the second time since joining Seattle, as McClendon has batted him cleanup in every other start except Tuesday's win at Oakland.
"He stretches that lineup quite a bit -- he brings respectability to that lineup," McClendon said. "Tonight was a big night for him. … I like him in the middle of that lineup because it adds a lot."
Zunino's homer was his 20th this year, setting the Mariners record for most homers in a season by a catcher. He leads all AL catchers in home runs.
The Mariners have been on something of a power-hitting tear lately, with homers in seven consecutive games, their most since last season. Friday marked the eighth time this season that Seattle has hit three or more home runs in a game.
Hisashi Iwakuma, who was dynamite against Texas in two meetings earlier this season, earned the win in an abbreviated 5 1/3-inning outing in which he surrendered three earned runs on seven hits, walked one and struck out five.
Iwakuma left after throwing 84 pitches. He loaded the bases in the fifth, but got a double-play, run-scoring grounder out of Elvis Andrus and retired Tomas Telis on a grounder to short to escape with minimal damage.
"I felt good in general," Iwakuma said. "I thought I had good arm action, I thought my pitches were working. It was a tight strike zone but I thought I did well overall."
In his two previous starts, one in Arlington and the other in Seattle, Iwakuma pitched eight innings for the victory each time, allowing a total of three earned runs and 12 hits.
Baker shouldered the loss, allowing five earned runs on four hits -- three of them homers -- in 4 1/3 innings.
The Mariners' bullpen again held tight as McClendon used six relievers to hang on to the lead. Fernando Rodney earned his 42nd save of the season despite allowing a run in the ninth.
With Detroit's loss to San Francisco, Seattle pulled a half-game ahead of the Tigers into the second AL Wild Card spot. The Mariners have won five of their last six games.
"Everyone's feeling good, everyone's enjoying it and the good thing about this team is that we can really embrace it, guys are enjoying being in the race, guys are enjoying coming to the field every day and it seems like it's somebody new every day contributing," Zunino said.
Chavez cut, but OK: Endy Chavez left the game in the fifth inning after he sustained a cut on his forehead when his helmet fell off as he was sliding into second base on a steal and his head collided with Rangers shortstop Luis Sardinas's leg. He received three stitches, did not show any concussion symptoms and should be available Saturday.
"He had a pretty nasty gash there but I think he's going to be OK," McClendon said.