Merrifield's chopper to third baseman Rafael Devers against Mauricio Llovera (1-3) scored automatic runner Vladimir Guerrero Jr. from third base.
Boston had taken the lead on an RBI single by Pablo Reyes in the top of the 12th. Bo Bichette tied the game in the bottom half of the inning with a sacrifice fly.
Toronto's Chad Green (3-0) earned the win, only issuing an intentional walk in the top half of the 13th.
The Blue Jays tied the game with two outs in the ninth thanks to Daulton Varsho's two-out RBI triple. Red Sox center fielder Ceddanne Rafaela initially came in on the ball, and it ended up going over his head.
The Blue Jays (82-67) have won the first two games of the three-game series. Boston (74-75) has lost three straight games overall.
Toronto right-hander Chris Bassitt allowed two runs, four hits and three walks with five strikeouts in seven innings.
Boston left-hander Chris Sale allowed one run, two hits and two walks in six-plus innings. He struck out 10.
Wilyer Abreu led off the sixth with a walk and stole second. Devers then hit his 32nd homer of the season.
Guerrero led off the bottom of the seventh with his 24th homer of the season, recording his third consecutive game with a home run.
Josh Winckowski replaced Sale following Guerrero's long ball and walked three batters to load the bases with two outs. Brennan Bernardino came on in relief to retire pinch hitter Ernie Clement.
Boston's John Schreiber allowed a one-out single to pinch hitter Cavan Biggio in the ninth, and Biggio took second on a wild pitch. One out later, Varsho ripped his game-tying triple to center.
Plate umpire Jordan Baker left the game following the eighth inning after being hit by two foul balls in the contest.
—Field Level Media