TORONTO -- For the first time in 11 games, the Toronto Blue Jays didn't hit a home run. Instead, they used a dose of speed to extend their winning streak to nine games with a wild walk-off victory.
Pinch-runner Kevin Pillar scored the decisive run on a throwing error by pitcher Juan Carlos Oviedo in the ninth inning and the Blue Jays completed a three-game sweep of Tampa Bay, beating the Rays 3-2 on Wednesday night.
"We can do more than just hit home runs to win games," Pillar said.
It is Toronto's longest run since an 11-game streak in June 2013.
Dioner Navarro singled to begin the ninth and was replaced by Pillar. Oviedo fielded Anthony Gose's bunt along the first base line and threw wildly to first, with the ball rolling into foul territory down the right field line. Pillar was waved home by third base coach Luis Rivera and slid home safely under the tag of catcher Ali Solis.
"Speed can do that for you," Blue Jays manager John Gibbons said.
Aaron Loup (2-1) worked one inning for the win as Toronto won for the 14th time in 16 games.
"It's a pretty exciting win all around for the team," Gose said.
Oviedo (1-1) faced only two batters.
The Rays lost their third consecutive game following a season-best four-game winning streak. Tampa Bay hit four balls to the warning track but all of them ended up as outs, including sensational catches by Gose and Melky Cabrera.
"It's been pretty much how the season has gone to this point, but we're going to change it," Rays manager Joe Maddon said. "All these weird, awkward breaks, we're just not catching them."
"I kind of expect myself to make catches," Gose said. "I really pride myself in defense."
Cabrera had a defensive gem of his own in the sixth, jumping into the wall in left to retire Longoria.
Blue Jays right-hander Liam Hendriks was replaced by left-hander Rob Rasmussen to begin the seventh, which began with Joyce hitting a ground-rule double to left. Dustin McGowan came on and got two outs, then walked Rays catcher Jose Molina, but got out of the jam when Sean Rodriguez flied out.
Hendriks allowed two runs and three hits in six innings, walked none and struck out five. Archer allowed two runs and six hits in six innings, walked two and struck out seven
Molina was hit on the mask by a foul tip in the eighth. Home plate umpire Brian O'Nora asked Maddon and the Rays trainer to check on Molina, who insisted he was fine, but Maddon replaced the veteran catcher with Solis in the ninth. Maddon said Molina was "getting a little nauseous."
"That was a pretty severe blow," Maddon said. "When he came into the dugout I said 'That's it, I don't want it to go any further than that.' "
Molina claimed to be feeling fine, and said he would be ready to play Friday night at Boston. The Rays are off Thursday.
The Rays were already thin behind the plate after placing Ryan Hanigan (right hamstring) on the 15-day disabled list before the game.
To replace Hanigan, the Rays recalled OF Kevin Kiermaier from Triple-A Durham. ... Blue Jays RHP Casey Janssen was unavailable with what Gibbons called "general body soreness." ... Rays LHP David Price (4-4) starts for the Rays Friday at Boston, while the Red Sox have yet to name a starter. ... Tampa Bay's Ben Zobrist (left thumb) played second base in a rehab game at Class A Charlotte on Wednesday and is scheduled to be activated Friday. ... Toronto begins a four-game series against Kansas City on Thursday. Royals RHP James Shields (6-3) faces Blue Jays RHP R.A. Dickey (5-4) in the opener.