Ryan Dempster (2-2) of Gibsons, B.C., pitched six innings for Boston (20-8), giving up one run and striking out four. Joel Hanrahan pitched a scoreless ninth inning for his fourth save on the year.
J.A. Happ (2-2) got the start for the Blue Jays (10-19), but struggled with control over his 3 2-3 innings of work, giving up three hits, two earned runs and seven walks.
Happ and four Toronto relievers combined for 10 walks, six hits and a wild pitch. The most walks the Red Sox had in a game this season prior to Thursday was nine in a 7-2 win over the Cleveland Indians on April 16.
Brett Lawrie of Langley, B.C., hit a home run for the Blue Jays, while Colby Rasmus' single in the fourth inning was the 500th hit of his career. Rasmus was 3 for 4 on the night with three singles.
Toronto lost its second consecutive game to Boston a few hours after putting right-handed starter Josh Johnson on the 15-day disabled list with inflammation in his right tricep. Reliever Brad Lincoln was called up from triple-A Buffalo to take his place on the roster.
Johnson is 0-1 with a 6.86 earned-run average in four starts since being acquired in a blockbuster off-season trade with Miami.
Lawrie got the Blue Jays on the board early, hitting a home run to deep centre on Dempster's third pitch of the game. After Lind popped out to right field, Bautista reached first on a single up the third-base line but the inning ended when Edwin Encarnacion grounded into a double play.
Happ laboured in the second, giving up a double to Napoli to start the inning. He struck out Daniel Nava, but then Will Middlebrooks got on base with a walk. After Boston loaded the bases, Stephen Drew drove Middlebrooks in with a sacrifice fly to right field.
Ellsbury's popfly to centre ended the inning but Happ had thrown 54 pitches and the Red Sox had a 2-1 lead after just two innings of work.
Toronto loaded the base in the third after three walks, but Encarnacion again grounded into a double play to end the threat.
After getting a double play to start the fourth Happ walked three batters in a row. He was pulled in favour of Lincoln, who ended the threat when Pedroia grounded into a forceout at second.
Boston added to its lead in the sixth inning, as Ross got on base with a walk and was driven home by Ellsbury's single to left field.
The Blue Jays loaded the bases in the seventh after a Rasmus hit and walks to Munenori Kawasaki and Lawrie.
However, Adam Lind struck out swinging to keep Toronto down by two.
J.P. Arencibia and Melky Cabrera both struck out with a runner on in the Blue Jays' half of the eighth.
Rasmus led off the ninth with a hit, but pinch hitter Rajai Davis popped out and Kawasaki grounded into a double play to seal the victory for Boston.
Notes: The Blue Jays placed Johnson on the 15-day DL retroactive to April 29. Toronto announced that left-hander Ricky Romero will get the start on Friday. Romero has made one appearance in single-A Dunedin so far this season. Jays manager John Gibbons said the club would make another roster change after Thursday's game to make space for Romero. ... Canada's rock music scene was well represented at the game. Alan Frew of Glass Tiger sang the national anthems, while Moe Berg of the Pursuit of Happiness threw out the opening pitch. Blue Jays mascot Ace was dressed as guitarist Angus Young of AC/DC fame for Rock Music Night. ... Red Sox manager John Farrell was roundly booed by the 25,851 in attendance when his name was announced over the public-address system. Farrell managed the Blue Jays for the 2011 and 2012 season.