TORONTO -- After going two years without a complete game, James Shields made a spring training pledge to finish what he started this season. So far, no one has done that better than him.
"It's been a phenomenal year so far," Shields said. "Ten CG's, I never really thought I'd be doing that this season."
Shields (12-10) allowed one run and seven hits to win for the third time in four starts. The right-hander, who walked one and struck out 12, also snapped a four-game road losing streak, winning away from home for the first time since June 24 at Houston.
"I told [manager Joe Maddon] at the beginning of spring training that I hadn't had a CG since 2008," Shields said. "When I got called up to the big leagues, that's one of the things that I prided myself in was going deep in games and actually finishing them."
|More on Rays at Blue Jays|
Longoria said he gets "a good feeling" whenever Shields is on the mound.
"He was in pretty good control and making pitches when he needed to," Longoria said. "It's fun to watch."
Desmond Jennings added a two-run shot and John Jaso also went deep for the Rays, who had scored just six runs over their previous four games.
"We didn't get that many hits but we hit them far when we did," Maddon said.
Blue Jays slugger Jose Bautista didn't go quietly when he was ejected after striking out for the third time in the sixth inning. Baseball's reigning home run king tossed his bat, helmet and a water bottle onto the field before leaving the dugout.
Bautista, who hit 54 homers last season and leads baseball with 37 this year, argued with home plate umpire Bill Welke after being called out on strikes in the first. He struck out swinging in the third, then lost his temper after going down swinging again in the sixth.
After walking back to the dugout, Bautista slammed the metal back wall with his bat, causing a loud bang that was heard throughout the stadium. He was ejected after appearing to yell 'Pay attention' to Welke, and responded by angrily tossing his equipment over the dugout railing before storming out down the steps.
"I was kind of surprised at him," Longoria said. "I've known him for a couple of years now and he seems like a real calm and collected guy. It happens to all of us. He lost his temper for a second."
Bautista did not speak to reporters, but Longoria said he was initially concerned about Bautista suffering an injury. Colorado shortstop Troy Tulowitzki landed on the disabled list with a lacerated palm after slamming a bat to the ground in 2008.
"My first instinct was to worry about him not hurting himself," Longoria said. "That wall is not too forgiving."
Mark Teahen replaced Bautista in right field.
Toronto outfielder Eric Thames was also angry at Welke after being called out on strikes in the eighth.
"I thought that ball was off the plate," Thames said. "I checked the video and it was. It's frustrating knowing you were right but it's a K in the books and that's that."
Shields, who had received just two runs of support over his past four road starts, improved to 3-0 with a 0.71 ERA in three starts against Toronto this season.
Rays starters have thrown at least seven innings in 11 consecutive games, matching an 11-game streak by Seattle in 2003. The last team to have a streak longer than 11 games was the Los Angeles Dodgers, who accomplished the feat in 16 straight games 1994.
Shields learned of the streak before the game from pitching coach Jim Hickey.
"He said 'Don't screw it up today, we've got a nice little streak going,"' Shields said.
Longoria led off the fourth and sixth innings with drives to center, his 23rd and 24th of the season. It was his second multihomer game this year and the eighth of his career.
Jennings got Tampa Bay started with a two-run blast off the facing of the second deck in left in the third, his sixth.
All three homers came off Toronto rookie right-hander Henderson Alvarez (0-2), who allowed four runs and four hits in six innings to lost his second straight start. Alvarez walked two and struck out six.
Jaso added a leadoff blast to right off Joel Carreno in the seventh, his fourth.
Tampa Bay capped it in the ninth when Matt Joyce doubled, stole third and scored on Wilfredo Ledezma's wild pitch.
Toronto's lone run came on Brett Lawrie's one-out homer in the second, his fifth.
Blue Jays manager John Farrell was not with the team. Farrell left Thursday's game suffering from chest pains and was later diagnosed with pneumonia. He was released from the hospital Friday and could rejoin the team as early as Saturday.
In Farrell's absence, bench coach Don Wakamatsu took over as manager while coaching assistant Luis Rivera filled Wakamatsu's spot.
The Blue Jays claimed veteran OF Dewayne Wise on waivers from Florida. Wise will join the team Saturday, his third stint with Toronto. OF Colby Rasmus (right wrist) will be placed on the 15-day DL Saturday to make room. ... Rays OF B.J. Upton returned to the starting lineup for the first time since Aug. 22. Upton was limited to a pair of pinch-hitting appearances this week because of a strained right shoulder. ... Toronto RHP Jon Rauch (appendectomy) threw a bullpen before the game and will throw another on Sunday. ... Blue Jays OF prospect Travis Snider, who is at Triple-A Las Vegas, has been diagnosed with tendinitis in his right wrist and is being shut down for the year. ... Toronto C prospect Travis d'Arnaud was named MVP of the Double-A Eastern League. He hit .317 with 19 homers and 71 RBI in 107 games with New Hampshire. ... Jeff Niemann (8-5) gets the start for the Rays on Saturday afternoon against Toronto's Luis Perez (3-2).