Former Tampa Bay star Scott Kazmir (9-14) made his first start at Tropicana Field since he was dealt to the Angels last year, yielding just one run on six hits and two walks through five innings.
The victory gave the Angels the rubber match of their three-game series with the Rays and was their seventh win 10 contests.
Rays starter Jeff Niemann (10-7) was roughed up for five runs on six hits and three walks in 4 1/3 innings.
With the loss, Tampa Bay remained in second place in the American League East, one-half game behind the New York Yankees heading into a key four-game series at Yankee Stadium Monday.
They also held a 6 1/2-game lead in the AL wild-card race.