Jered Weaver struck out eight in winning for the third time in his last four decisions.
Los Angeles captured its second straight and stayed 4 1/2 games in front of Texas for the lead in the American League West. Those two teams will meet seven times in a 13-day stretch beginning Sept. 18.
Weaver (15-5) allowed two runs on seven hits in 6 1/3 innings. He left the game with a 4-2 lead and Juan Rivera added some insurance with a two-run homer in the eighth.
Los Angeles loaded the bases in the first against Ian Snell (6-10) on a walk to Maicer Izturis and singles by Bobby Abreu and Vladimir Guerrero. Torii Hunter then drew a walk to force in a run and Morales followed with his double to left-center, clearing the bases.
After Trevor Bell put two runners on in the ninth, Brian Fuentes came on to pick up his 40th save.
Beyonce flaunts bikini body, Blue Ivy in vacation pics
Couple mistakenly served bag of cash at McDonald's drive-thru