Morales lined a hit through the shortstop hole to bring in Kyle Seager, who had doubled, with the decisive run.
Morales and Seager were among eight Mariners batters who accounted for the eight hits Seattle totaled in the game.
Seattle's Charlie Furbush (1-3) won his first game of the season as one of four relievers who worked after starter Jeremy Bonderman departed after allowing one run in six innings.
Joe Blanton started for Los Angeles and left after 6 2/3 innings in which he allowed two runs on six hits and struck out 11. Garrett Richards (2-4) allowed the winning hit in the 10th and took the loss.