After Ben Zobrist singled to start the ninth off Jon Rauch (1-2), Upton hit an 0-and-1 pitch into the left-field seats for the victory.
“That was pretty cool,’’ Rays manager Joe Maddon said. “That ball was properly struck right there.’’
Kyle Farnsworth (2-0) got the final out in the top of the ninth for the win.
Toronto’s Jo-Jo Reyes dropped to 0-11 in 24 starts since a loss to the Angles June 13, 2008, while with Atlanta. He gave up one run and four hits in six innings last night.
“Overall, he did much better than the outcome will suggest,’’ Toronto manager John Farrell said. “He threw the ball very good.’’
The Blue Jays were without slugger Jose Bautista, who didn’t play because of neck spasms.
Tampa Bay All-Star third baseball Evan Longoria was activated from the 15-day disabled list after missing 26 games because of a left oblique strain and had a single in four at-bats. He struck out twice.
Diamondbacks 4, Rockies 3 — Justin Upton hit a tiebreaking homer to lead off the eighth inning and host Arizona roughed up Jorge De La Rosa for three runs in the third inning to beat Colorado.
Indians 4, Athletics 1 — Orlando Cabrera hit a tiebreaking RBI single in the ninth in his lone at-bat, Fausto Carmona won for the third time in four starts, and visiting Cleveland posted its seventh straight victory.
Tigers 4, Yankees 2 — Scott Sizemore had three hits in his return to the major leagues, helping host Detroit snap a seven-game losing streak. Sizemore was called up from Triple-A Toledo to try to bolster the top of Detroit’s struggling lineup, and for one night at least, the move paid off.
Cubs 4, Dodgers 1 — Geovany Soto hit a tiebreaking two-run double in the ninth inning to lift visiting Chicago. Andre Ethier of the Dodgers extended his hitting streak to 29 games with a fourth-inning single.
Phillies 4, Nationals 1 — Cole Hamels pitched a five-hitter, Raul Ibanez doubled twice as he stopped an 0-for-35 slump, and the Phillies spoiled Jayson Werth’s return to Philadelphia. Werth was 0 for 3 with a walk in his first game in Philadelphia since signing a $126 million, seven-year deal with the Nationals.
Mariners 4, Rangers 3 — Justin Smoak’s RBI single in the eighth inning, his third hit of the game, pulled Seattle even, Jack Cust followed with the go-ahead RBI single, and the host Mariners rallied to hand Texas its third straight loss.
Royals 6, Orioles 5 — Jeff Francoeur drove home the winning run with a sacrifice fly in the 10th inning after hitting a tying homer in the sixth, lifting host Kansas City to its fourth straight victory.
Cardinals 7, Marlins 5 — Daniel Descalso hit his first career home run, a go-ahead three-run shot in the seventh inning, to lead host St. Louis. Cardinals slugger Albert Pujols was 0 for 5 with his league-leading 10th double play ball and stranded six runners his first three at-bats, dropping his average to .231.
Giants 7, Mets 6 —Aubrey Huff ended an 0-for-20 slump with a leadoff homer in the 10th inning to lift visiting San Francisco to just its fourth victory in 12 games.
Astros 10, Reds 4 — Lefthander J.A. Happ singled home a run during Houston’s six-run fourth inning — its biggest of the season — and the visiting Astros hammered Cincinnati, leaving the Reds with their first losing record (14-15) in nearly a year.
Padres 6, Pirates 5 — Rob Johnson hit a solo homer in the eighth inning and Heath Bell tied Trevor Hoffman’s club record with his 41st consecutive save to lead host San Diego.
The Braves-Brewers game in Atlanta was postponed by rain following a delay of 1 hour and 28 minutes. The teams will play a traditional doubleheader today, beginning at 4 p.m. Zack Grienke is scheduled to make his first start for the Brewers today. It was the 19th game postponed by rain this season, two shy of last year’s total.