Aaron Poreda (1-0) pitched two scoreless innings to earn his first victory since June 25, 2009, with the Chicago White Sox. Joakim Soria got three outs for his sixth save in six chances.
The Rangers appeared to be in trouble when they fell behind 3-0 in the fourth inning with Felix Hernandez on the mound for Seattle. But they got to the ace for three runs in the fifth and added three more against the Mariners' bullpen.
Singles from Moreland, Donnie Murphy and Leonys Martin loaded the bases with no outs in the fifth. Robinson Chirinos drew a walk on four pitches to push Moreland across for the Rangers' first run. Michael Choice singled in another run and Elvis Andrus' sacrifice fly tied it at 3.
Hernandez allowed five hits over six innings. He struck out four and walked three. Charlie Furbush (0-2) got the loss.
After Moreland's sacrifice fly gave Texas the lead, the Rangers added a pair of insurance runs in the ninth against Joe Beimel. Martin scored on a wild pitch and Fielder singled in Andrus.
In the leadoff spot for the first time this season, Michael Saunders homered off Colby Lewis to give the Mariners an early 1-0 lead. Kyle Seager led off the second with another homer and then scored on Mike Zunino's sacrifice fly in the fourth.
The M's and Rangers close their series on Sunday. First pitch is slated for 1:10pm at Safeco Field.