The teams came into the game on a combined 13-game losing streak -- seven setbacks in a row for the Angels and six for the Mariners.
Los Angeles was able to end its skid with a pair of four-run innings and a solid effort by Jared Weaver.
Morales had a three-run double in the first and later scored on a sacrifice fly by Rivera. The Angels added four more in the fourth on a two-run homer by Rivera and solo shots from Howard Kendrick and Ryan Budde.
Weaver (4-1) bounced back from a rough outing, limiting Seattle to two hits over 7 1/3 innings while striking out seven. He had survived just 4 2/3 innings in a loss to Detroit last Sunday.
Felix Hernandez (2-3) was saddled with the loss Friday, giving up seven runs on five hits in 3 1/3.