Kendrys Morales kept up his hot hitting and sent the Baltimore Orioles south of the border with another loss in Canada.
Morales homered for the fourth consecutive game, Thomas Pannone and two relievers combined on a two-hitter and the Blue Jays beat Baltimore 6-0 on Wednesday, completing a 10-game season sweep of the Orioles in Toronto.
"A lot of those games have been close," Baltimore right-hander David Hess said of his team's winless record in Toronto. "They just kind of found ways that we haven't so far to pull out a win."
Devon Travis had a three-run shot in the eighth inning as the Blue Jays blew open the game with a five-run outburst against Miguel Castro, who uncorked three wild pitches and didn't retire any of the five batters he faced.
Morales hit a two-out drive off Hess (2-8) in the seventh, his fifth home run in the past four games and 19th of the season.
"He really regrouped after that slow start and he's been steady," Blue Jays manager John Gibbons said of Morales, who hit .178 in April.
Making his first major league start after four relief appearances, the left-handed Pannone (1-0) pitched six no-hit innings before Baltimore's Trey Mancini reached on a ground-ball single to begin the seventh.
"I didn't really hold myself to any expectations," Pannone said. "Just wanted to execute a good game plan and give my team a chance to win and I feel like I did that today."
Mancini advanced to third when left fielder Teoscar Hernandez was charged with an error on Adam Jones' liner, but Pannone escaped unscathed by getting Tim Beckham and Craig Gentry to ground out before Renato Nunez popped up.
Orioles manager Buck Showalter criticized his team's offensive approach in the inning.
"We had second and third and nobody out and you're getting in that mode of trying to hit a three-run homer instead of getting the run across," Showalter said.
Blue Jays center fielder Randal Grichuk made a sensational diving catch to retire Orioles catcher Austin Wynns for the first out of the sixth. Baltimore's Cedric Mullins followed with a bunt, but Pannone pounced on the ball and made the throw to first.
Gibbons used the word "sneaky" to describe Pannone's stuff.
"That ball jumps on you," Gibbons said. "He did a hell of a job."
Baltimore put runners at first and second with two outs against Ryan Tepera in the top of the eighth, but right fielder Billy McKinney made a sliding catch on Mancini's sinking liner to retire the side. Joe Biagini struck out the side in the ninth.
Hess was perfect through four innings. Morales reached on a ground-ball single through the shift to begin the fifth.
Hess allowed one run and three hits and set career-highs with seven strikeouts in seven innings.
"He commanded the ball down in the zone," Showalter said. "You could tell he had an idea about where the ball was going and what he was trying to do."
Hess is 0-7 since his most recent win, May 25 at Tampa Bay.
Baltimore has lost four straight and 11 of 13. The Orioles are 1-12 against the Blue Jays this season with six games remaining, all in Baltimore.
Travis became the 10th Blue Jays hitter to reach double-digits in home runs this season, a team record. They had nine in a season six times previously.
Baltimore matched a season-low with two hits. The Orioles also had two hits in a 4-0 loss to Cleveland on April 21.
Pannone was Toronto's 14th different starting pitcher of the season, matching the club record set last year.
A club-record six of those 14 have made their first career start this season.
Blue Jays: RHP Aaron Sanchez said that the bruised right index finger that has sidelined him for the past two months happened when his finger got caught in a falling suitcase hours before his June 21 start at Los Angeles against the Angels. Sanchez is expected to be activated off the 60-day disabled list Saturday to start against Philadelphia.
Orioles: Baltimore is off Thursday. RHP Alex Cobb (4-15, 5.09) starts Friday in the opener of a four-game series against the New York Yankees. LHP CC Sabathia (7-4, 3.32) starts for New York.
Blue Jays: Toronto is off Thursday. LHP Ryan Borucki (2-3, 4.27) starts Friday in the opener of a three-game series against the Phillies. Borucki allowed a career-worst six runs and recorded only two outs in his previous start, last Sunday at Yankee Stadium. RHP Jake Arrieta (9-8, 3.25) starts for the Phillies.