Cespedes has 19 RBIs in 22 games since being traded to Boston on July 31. Seven of those 19 RBIs have given the Red Sox a lead.
Brock Holt hit a one-out single off Aaron Sanchez (2-1) in the 10th and stole second as Dustin Pedroia struck out, with the steal confirmed by video review. Holt stole third before Cespedes drove him in with a single up the middle.
"He's been doing that ever since he's come over here," Holt said of Cespedes. "We're happy to have him on our side."
Boston won for the first time since August 16 against Houston and snapped a six-game skid against the stumbling Blue Jays, who dropped to 6-15 in August.
"It's nice to win, no matter what, no matter how many you've lost in a row or won in a row," Holt said.
Koji Uehara (6-4) got the win despite blowing his fourth save in 30 chances, and Craig Breslow finished for his first save in two chances.
"That's the best we've seen him all year," Blue Jays manager John Gibbons said of Buchholz.
Uehara came on and got Adam Lind to ground into a fielder's choice as Reyes scored. Edwin Encarnacion followed with a two-run double beyond the reach of a leaping Cespedes in left, tying it at 3-3.
Mookie Betts hit a one-out drive into the second deck in the fifth, his first homer since July 2. Two batters later, Dustin Pedroia hit a two-run shot, his first since August 3.
It was Boston's first multihomer inning since July 21, also at Toronto, when they hit two in the fifth inning of a 14-1 rout. The Red Sox have hit 12 home runs at Rogers Centre this season, their highest total at any road stadium.
Both homers came off Blue Jays left-hander J.A. Happ, who allowed three runs and five hits in six innings.
Boston won despite playing without slugger David Ortiz, who sat out with of a bruised right foot. Ortiz left Sunday's game against Seattle in the sixth, two innings after fouling a ball off his foot. Farrell said he's "hopeful" that Ortiz will be able to return Tuesday.
HOLT HIT HARD
Holt was shaken up when he and Pedroia collided while chasing Reyes' single in the ninth. Pedroia's left forearm hit Holt in the side of the head and the two players went down in a heap. Holt was checked on the field by the trainer and stayed in the game. "Dustin is obviously 1-0 against me," Holt said.
ARMED AND DANGEROUS
Cabrera threw out Christian Vasquez trying to tag up from second on Pedroia's fly ball to the warning track in the third. It was Cabrera's 12th assist of the season, the third highest total in the majors. It's the most by a Toronto outfielder since Bautista had 13 in 2011.
Red Sox: With SS Xander Bogaerts on the 7-day concussion disabled list, Farrell said Holt will handle the position until Bogaerts is able to return. Holt has played all four infield positions and all three outfield spots this season. Boston selected INF Carlos Rivero from Triple-A Pawtucket to replace Bogaerts.
Blue Jays: Gibbons said he doesn't believe there's anything wrong with closer Casey Janssen, who's 0-1 with two blown saves and a 6.59 ERA since the All-Star break. Janssen missed the first 37 games of the season with a back injury.
Red Sox RH Rubby De La Rosa (4-5) faces Blue Jays RH R.A. Dickey (10-12) on Tuesday. De La Rosa has allowed nine hits four times this season, with two of those starts coming against Toronto. Dickey won for the first time in four starts against Milwaukee last week but worked just 5 2/3 innings, his shortest outing since June 4 at Detroit.
Copyright by STATS LLC and The Associated Press
TORONTO, CANADA - AUGUST 25: Yoenis Cespedes #52 of the Boston Red Sox hits a single in the first inning during...