TORONTO -- Wade Davis felt better about this start, even if the result wasn't what he wanted.
Davis (4-4) had won four straight decisions before losing to the Baltimore Orioles in his previous start, giving up four runs in 5 1/3 innings.
He lost again in Toronto, allowing both Blue Jays homers, but came away far happier about his performance.
"Everything felt a lot better today," Davis said.
Davis threw a season-high 7 2/3 innings, allowing three runs and seven hits. He walked four and struck out three.
"Overall I felt good about it," he said. "When you have good stuff like that it (stinks) to get a loss, but I felt pretty good about it overall."
It's the first time since his opening two starts of the season that Davis has suffered consecutive defeats.
"He had a really good breaking ball," Rays manager Joe Maddon said. "His curveball and slider were really good. I thought he pitched well, he had really good stuff tonight."
Davis said the key to his improvement was better drive from his legs, which led to better breaking balls.
"Just striding better," he said. "Everything was stronger in my lower half. My off-speed stuff was better, getting out in front. My curveball, slider, everything was much better."
Toronto left-hander Ricky Romero (4-4) allowed one run and three hits in seven innings to win consecutive starts for the first time this season. He walked two and struck out six.
"His fastball had a little more life to it than the last time we faced him," Rays designated hitter Johnny Damon said. "He's a tough pitcher."
Romero pitched a season-high 8 2/3 shutout innings to beat the Minnesota Twins last Friday.
Rivera went 2-for-3 and scored a pair of runs as the Blue Jays won for the seventh time in eight games.
Toronto's Jose Bautista went 0-for-4 with a strikeout and failed to reach safely for just the second time in 35 games this season. Bautista had reached safely in 23 straight games, dating to April 17.
Tampa Bay's Ben Zobrist also went 0-for-4, snapping his own streak of reaching safely in 23 straight games.
Rivera gave the Blue Jays an early lead with a solo homer in the second that bounced off the top of the wall, his third.
The Rays tied it in the fifth when Upton homered to left-center, his seventh.
After Rivera drew a one-out walk in the seventh, Arencibia whacked Wad Davis' next pitch over the wall in center for his seventh home run.
"That was a slider, I just didn't get it down," Davis said.
Shoppach cut the deficit to 3-2 with a solo homer to right off Rzepczynski in the eighth, his second.
Toronto outfielder Corey Patterson singled in the sixth, extending his hitting streak to 10 games. ... Blue Jays first baseman Adam Lind (back) is expected to miss at least another 10 days, manager John Farrell said. Lind was placed on the 15-day DL on May 16. ... Rays outfielder Sam Fuld got the day off, and is expected to skip Friday's game at Florida, Maddon said. Fuld is batting .212 (7-for-33) in his past eight games. ... Toronto infielder Edwin Encarnacion, who made two errors Wednesday, got the night off.