John Gibbons wasn't exactly happy to see rookie Marcus Stroman lose his no-hitter. Still, it saved the Blue Jays manager from making a tough decision about how long to stick with his young star.

Stroman and two relievers combined on a one-hitter, Juan Francisco drove in four runs and came within a double of the cycle and Toronto beat the Boston Red Sox 8-0 on Thursday.

Stroman's no-hit bid ended when Shane Victorino blooped a single to center to lead off the seventh. One out later, Victorino was erased on Mike Napoli's double-play grounder.

Stroman (6-2) only allowed two other baserunners on walks and matched a season-high by striking out seven in seven innings. The rookie right-hander is 5-1 with an 1.54 ERA in seven home starts.

''He's pitching like a veteran who's been around a long time, and he's been very successful,'' Gibbons said. ''He shuts down good-hitting teams; he's a great competitor.''

Fifteen games into his big league career, Stroman said he has achieved more than he expected so far.

''I knew if I came up here and got settled in, I could pitch well and help our team win every game,'' he said. ''But, yeah, I'd definitely say I've surpassed (expectations). It's definitely been a ride so far.''

Stroman hasn't thrown a complete game since his call-up in May, so Gibbons was wary of overworking his pitcher as long as the no-hitter remained intact.

''That was going through our minds,'' said Gibbons, who yanked Stroman after 97 pitches. ''I don't know if `relieved' is the word, but it didn't hurt.''

Todd Redmond worked the eighth, and Rob Rasmussen finished.

Red Sox slugger David Ortiz felt back spasms on a swing in the ninth and was replaced by Jonny Gomes, who flied out to end the game.

''I don't think it's anything serious,'' Ortiz said.

Francisco tripled and scored in the second, hit a two-run homer in the third and added a two-run single in the fifth as the Blue Jays won for the fifth time in six games.

''Hopefully, he's heating up at the right time,'' Gibbons said.

Blue Jays outfielder Melky Cabrera went 3 for 4 with a walk and two RBI. Cabrera scored a run and doubled three times.

Boston set season-highs in runs, hits (18) and home runs (four) in Monday's 14-1 rout, their fifth straight win but managed only seven runs over the final 27 innings of the series.

''We were behind the eight-ball right from the first or second inning, and were never really in this one,'' Red Sox manager John Farrell said.

Red Sox right-hander Rubby De La Rosa allowed seven runs, six earned, in a season-low four-plus innings, raising his ERA from 2.64 to 3.54. De La Rosa (3-3), who lost for the first time since June 11 at Baltimore, walked two and struck out one.

Cabrera opened the scoring on a bases-loaded passed ball in the first. Toronto made it 3-0 in the second when Francisco tripled off the glove of Jackie Bradley Jr. and scored on Ryan Goins' double, with Goins coming home on Cabrera's first double.

Francisco made it 5-0 with his two-out homer in the third, then added a bases-loaded single off Burke Badenhop in the sixth.

Toronto loaded the bases with one out in the seventh, but Badenhop got Dan Johnson to ground into a double play.

Cabrera made it 8-0 when he doubled home Jose Reyes against Edward Mujica in the eighth.

After getting the day off Wednesday, Red Sox rookie Brock Holt returned to the lineup at second base. Holt has started at every position this season except pitcher, catcher and designated hitter. Dustin Pedroia, who is stuck in a 2-for-24 slump, got the day off.

NOTES: Toronto RH Brandon Morrow (right index finger) threw off the mound for the first time since his May 2 injury. Morrow threw about 30 pitches on the bullpen mound before the game. There is no timetable for his return. ... The Blue Jays begin a three-game series at Yankee Stadium Friday, where they have lost 16 consecutive games. Toronto LH Mark Buehrle faces New York RH Hiroki Kuroda in the opener. ... The Red Sox begin a three-game series at Tampa Bay Friday, with Boston LH Jon Lester facing Rays LH David Price. There was bad feelings between the teams after Price drilled Ortiz with a pitch in a May 30 game at Fenway Park.