Cruz belted a two-run shot off Rich Thompson and Napoli followed with a bases-empty clout for the Rangers, who banged out 14 hits and extended their American League West lead over the second-place Angels to five games.
Michael Young went 3-for-4 with a two-run single and Mitch Moreland added three hits and a run scored as Texas won for the seventh time in eight games.
Alexi Ogando (12-5) got the win despite surrendering four runs on eight hit over 6 1/3 innings.
Los Angeles starter Garrett Richards, making only his second major league appearance, strained a groin in the first inning and left the game after allowing an unearned run on two hits.
Bobby Cassevah (1-1) came in and was tagged with the loss after yielding a run over 2 2/3 frames.
Russell Branyan socked a two-run homer for Los Angeles, which dropped the first of a four-game series with Texas.