Buchholz allowed singles by Jose Reyes and Melky Cabrera in the first and struck out three. The right-hander, who was 12-1 with a 1.74 ERA in 16 starts last season before injuries slowed him, has not allowed a run since his first start against the Tampa Bay Rays on March 4.
"I thought he was in command for the four innings of work," Red Sox manager John Farrell said.
"He had three very good pitches working for him: his curveball, cutter and fastball. I thought he had better stuff than five days ago. You see his velocity's starting to climb a little bit and the later action to all his secondary pitches. But more importantly, he pitched very comfortable with very good stuff," he said.
Blue Jays starter Drew Hutchison, a candidate for the fifth spot in the rotation, allowed four hits and one earned run with seven strikeouts in 4 2-3 innings.
Corey Brown and Sean Coyle hit RBI doubles for the Red Sox.
Jonathan Diaz scored Toronto's run on a double to left field by Kevin Pillar in the eighth.
Blue Jays: Hutchison threw 70 pitches. He said he wants to focus on finishing the rest of the exhibition season strong and isn't looking ahead when it comes to the final spot in the starting rotation.
"It doesn't do me any benefit to think ahead or think behind," he said. "You just focus on each pitch and continue to execute and perform."
Red Sox: Buchholz said most of his pitches have been effective, but he is still working to improve his changeup.
"It's better that it's down than up, but I haven't quite got a feel for it and that's a pitch that I use a lot," Buchholz said. "I wanted to work on it a little more today, but when you spike it in the dirt, it's a pitch that's not getting any attempted swings and you're just putting yourself behind in the count."
Blue Jays: Left-hander J.A. Happ said he felt no pain after throwing 43 pitches in a minor league game on Friday. Happ, who has been out with back inflammation, gave up one hit, walked one and struck out two in three scoreless innings. He said his fastball peaked at 91-93 MPH, which was a positive sign.
"It felt good," he said. "It was good, exciting and I felt normal out there, which is really nice."
Manager John Gibbons said Happ should be ready to start again once they determine that he is fully healthy.
Red Sox: Shane Victorino did not play in a scheduled minor league game on Friday as a precaution after he "felt something" in his right thumb, according to the Red Sox.
The veteran outfielder, who had surgery on the thumb in December to release a nerve, is expected to return on Saturday against Philadelphia.
Farrell said outfielder Grady Sizemore is feeling better after he fouled a pitch off his knee in a minor league game on Thursday and will not miss any time.
HILL MAKES DEBUT
Red Sox veteran left-hander Rich Hill made his spring debut on Friday, tossing a perfect fifth inning with one strikeout.
Hill reported to camp for the first time last Wednesday after his infant son, Brooks, who was less than 2 months old, died from multiple health complications on Feb. 24.
Hill said it felt good to be back on the mound, but he didn't want to overdo anything and risk injuring himself.
"As much as you want to be out there and pitch, you also have to be cautious of doing a little too much and, in my case, I've been known to do a little bit too much," he said. "But it was definitely fun getting out there today and pitching with the crowd and everything."
Farrell said that Hill surprised him by being ready for a game so quickly.
"It's a testament to his athleticism and his overall strength," Farrell said. "He's thrown two bullpens, a (batting practice) and here he is in a game. It's pretty remarkable how well the ball is getting out of his hand and how quickly he's able to get to this level."
Hill signed a minor league contract with Boston in the offseason after spending last year with the Cleveland Indians, where was 1-2 with a 6.28 ERA in 38 2-3 innings.
He previously spent three seasons with the Red Sox from 2010-12, posting a 1.14 ERA in 40 appearances.