B.J. Upton went 4 for 5 with a home run and three RBIs, Ben Zobrist and Jose Molina also homered and the Tampa Bay Rays battered Jered Weaver for a career-worst nine earned runs in a 12-3 victory over the Los Angeles Angels on Friday night.

James Shields (11-7) allowed three runs, seven hits and no walks in six innings while striking out eight, helping the Rays maintain a one-game lead over Detroit and Baltimore in the AL wild-card race. The Orioles lost to the Tigers after starting the day tied with Tampa Bay.

Shields, the subject of trade rumors before the non-waiver deadline on July 31, is 3-0 with a 1.80 ERA in four starts since. The 30-year-old right-hander was 1-3 with a 6.15 ERA in a seven-start stretch before the deadline passed.

Weaver (15-3) had his shortest outing of the season, giving up eight hits and two walks in three-plus innings — including Zobrist's 14th homer and Upton's 15th. It was the sixth time the three-time All-Star allowed multiple homers in back-to-back starts during his seven-year career. Seattle's Jesus Montero went deep twice against him last Sunday in the Mariners' 4-1 victory.

Upton hit a first-pitch homer into the left-field bullpen with one out in the first and Zobrist led off the second with a drive into the elevated seats in right-center, marking the third time this season that Weaver allowed more than one home run in an outing. The Yankees hit three off him on July 15, but he escaped the Bronx with a 10-8 victory.

Weaver, who came in with a chance to tie Tampa Bay's David Price for the major league lead in wins, faced eight batters and threw 24 pitches in the fourth inning without recording an out.

Sean Rodriguez and Ryan Roberts had RBI singles, Molina followed with a two-run single and Desmond Jennings chased Weaver with an RBI double. Upton greeted LaTroy Hawkins with a two-run single that extended Tampa Bay's lead to 9-1.

Molina, who spent seven seasons as a backup catcher with the Angels and was a member of their only World Series championship club in 2002, hit his fourth homer in the eighth against Jason Isringhausen.

The Angels, shut out in each of their previous three games against the Rays, finally ended their string of 34 consecutive scoreless innings against Tampa Bay with Erick Aybar's leadoff homer in the third. Howie Kendrick added a two-run homer in the fourth.

NOTES: Weaver lost only one of his first 16 decisions, a 13-6 rout by the Texas Rangers in which he gave up eight earned runs. He came in with a major league-best 2.54 home ERA since the start of his 2006 rookie season. ... Angels RHP Dan Haren, who hasn't gotten out of the fourth inning in his last two starts, will be skipped in the rotation next week with the team having a travel day before its six-game trip to Boston and Detroit. The three-time All-Star gave up 10 earned runs and 12 hits in losses to the Rays and Mariners. ... J.P. Howell extended his scoreless streak to 23 2-3 innings with a perfect ninth, surpassing the franchise record of 23 that Shields set in 2011. ... The Rays lead the season series 7-1 with two games remaining. They have held Albert Pujols, Mike Trout and Mark Trumbo to a combined .200 average with one home run and five RBIs. ... Weaver, whose next scheduled outing will be against Boston at Fenway Park, hasn't lost three consecutive starts since dropping four in a row in May 2011. ... The Angels are expecting relievers Jordan Walden and Scott Downs to return this weekend from injuries. Walden has been sidelined by a biceps strain, Downs by a shoulder strain.