Thompson said after the game that he knew his teammates hadn't seen his speed, but he was more than happy to show it off when it counted.
"I got a really good break," Thompson said. "That ball was hit high enough that I was just going as soon as I saw it off the bat. I got a good jump and didn't look back. I got the go-ahead. I've got my eyes on the third-base coach the whole time, just hoping that he'll send me."
Upton has settled into a groove as of late and is 10-for-22 with five extra-base hits, including two home runs in his last five games. The hot streak has helped the 27-year-old raise his average to .300, and Rays manager Joe Maddon said he's doing a good job deciding when to be aggressive.
"He started out being more on the passive side, then maybe too much of the aggressive side, but he's finding his happy medium right now," Maddon said. "He gets it. He's got a good look about him and his work has been great."
Jose Bautista struck in the first for the game's first run when he sent a homer over the left-field wall for his 12th of the year. He ended up going 2-for-4 with two runs.
The lead for the Blue Jays wouldn't last for long, as Tampa Bay came back in the bottom of the inning. Carlos Pena walked to lead off the inning and after Upton struck out, Matt Joyce also took a base on balls. New cleanup man Drew Sutton doubled to center field, scoring two runs.
The Rays added another run in the bottom of the third, when Joyce hit a grounder to first base with one out and men on second and third, scoring Pena. Sutton followed that with a walk to put runners on the corners for Luke Scott, who grounded into a RBI fielder's choice for a 4-1 Rays lead.
Toronto got one of the runs back in the top of the fifth inning. Brett Lawrie singled to lead off before another Rays error -- the 41st in 45 games -- allowed Colby Rasmus to reach base and Lawrie to advance to third. Yan Gomes hit a sacrifice fly to center field, bringing in Lawrie to pull the Blue Jays to within two runs.
In the top of the eighth, Bautista hit a double with one out. Maddon opted to go to his bullpen -- starter James Shields racked up 10 strikeouts in 7 1/3 innings -- and reliever Joel Peralta promptly gave up a home run to Edwin Encarnacion to even the score at 4.
"I thought James Shields was really, really good," Maddon said about his starter, who got a no-decision after the home run. "He deserves a better fate than that."
Tampa Bay nearly avoided having to go to extra innings as Pena walked and Upton singled with one out in the ninth before Joyce struck out. Sutton fell behind in the count early, but battled back and hit a sharp grounder to the first-base side and made it to the bag with no one covering first, but Pena was thrown out at the plate by Omar Vizquel.
"It was just one of those unorthodox plays, but I'm glad we tried it," Pena said.
Blue Jays starter Ricky Romero dealt with control issues all game, giving up four runs on a career-high seven walks and two hits, but he had seven strikeouts. His seven walks were the most by a Blue Jays pitcher since Dustin McGowan had eight in 2008.
"I beat myself -- again," Romero said. "They didn't beat me, I beat myself. That's kind of been the story of my season. I've beaten myself more than other teams have beaten me."