Upton hit a solo homer in the first and then closed out the big fourth inning with a two-run single.
Desmond Jennings had a two-run double in the fourth, during which the Rays sent 10 men to the plate and piled up six hits.
James Shields (11-7), owning a 10-3 lead, was taken out of the game after six innings. He threw just 101 pitches and gave up three runs on seven hits with eight strikeouts.
The Rays pounded Los Angeles ace Jered Weaver (15-3), who has lost his last two starts. He was charged with nine runs on eight hits in three innings.