Morales had a solo home run in the first and a three-run shot in the fifth off rookie Justin Grimm. The switch-hitter added a two-run single in the sixth to help Seattle win for the first time at Texas this season.
Joe Saunders (6-8) won for the first time in eight regular-season starts at Rangers Ballpark. The left-hander allowed two runs one earned and struck out five in 6 2-3 innings.
Seattle's Raul Ibanez, who hit 10 homers in June, had a solo shot for his 20th homer of the season.
Grimm (7-6) gave up six runs and seven hits in four innings. He was chased in favor of Ross Wolf after Morales hit his second homer.
Grimm retired the first two batters of the game before Ibanez lined a 2-1 pitch over the fence in the right.
Three pitches later, Morales followed with a solo drive to make it 2-0.
Texas' Leonys Martin dropped down a bunt single leading off the third to extend his hitting streak to 15 games, the longest active run in the American League.
Martin scored two batters later on Elvis Andrus' single.
After Dustin Ackley had a run-scoring double in the fourth to push the lead to 3-1, the Mariners scored three runs in the fifth.
Nick Franklin led off with a single and Ibanez reached on Ian Kinsler's error at second base to set the stage for Morales.
He hit the first pitch from Grimm into the seats in right, extending Seattle's lead to 6-1.
It was the 10th multihomer game of Morales' career and first since last Aug. 8 against Oakland.
Morales, who went 3 for 5, capped his big game with a two-run single in the sixth to make it 8-1.
This was the fourth time Morales had six RBIs in a game. He last drove in six against Texas on July 30, 2012.
Saunders, who won the 2012 AL wild-card game at Rangers Ballpark with Baltimore, came in 0-7 with a 9.91 ERA in the regular season at Texas.
Saunders got double-play grounders to end the fifth and sixth. After he recorded the first two outs of the seventh, Andrus and Nelson Cruz had consecutive singles to chase Saunders.
NOTES: Texas RHP Colby Lewis (elbow) threw 37 pitches in the bullpen and is expected to have another bullpen session Thursday. ... Rangers opening-day starter Matt Harrison, out since April while recovering from back surgery, threw from 120 feet. ... Ackley was back in the starting lineup after missing Sunday's game with a sprained left thumb. ... Texas DH Lance Berkman (sore right knee) missed his fourth straight game. Berkman said he hopes to return to the lineup Wednesday night. ... Rangers radio announcer Eric Nadel missed most of the game because of laryngitis. Texas' lead radio voice called the first inning before leaving. ... The Rangers outscored the Mariners 23-3 in a three-game sweep April 19-21.