TORONTO - Luke Maile called his fourth-inning error "the dumbest play" of his career.
But that only made the walk-off homer he hit hours later feel even sweeter.
Maile hit his second homer of the game in the bottom of the 12th and the Toronto Blue Jays rallied to beat the Boston Red Sox 5-3 on Friday, overcoming a career-high 15-strikeout performance from Chris Sale.
Maile, who nearly cost Toronto the game when the Red Sox took the lead on his passed ball and error in the fourth inning, drove in four runs total, including one on a solo shot to tie the game in the seventh.
"When I made that error, I obviously felt terrible, it was the dumbest play of my career," Maile said. "Luckily it worked out, I was hoping it would. I was hoping (starter Aaron Sanchez) wasn't on the hook for a really unfortunate L right there."
If the error was his dumbest play, the extra-inning home run — marking his first career multi-homer game — topped Maile's list of best moments.
"It's probably No. 1," Maile said with a smile. "That (was) a little bit of a roller coaster."
"It's gotta be college (since last hitting two homers in a game), definitely not since I've been in pro ball," he added. "Shoot, you can probably count on a couple hands how many homers I've hit in the last five years."
Curtis Granderson started the 12th-inning rally with a leadoff walk off reliever Brian Johnson (1-2), his second extra-inning walk after coming into the game as a pinch hitter in the 10th. Maile followed by launching the first pitch he saw over the centre-field fence.
Josh Donaldson picked up an RBI for the Blue Jays (21-18), who won for just the fourth time in 10 games.
Sam Gaviglio (1-0), called up from triple-A Buffalo earlier in the day, pitched the top of the 10th, 11th and 12th innings for the win.
"I was ready to go, they told me to be ready today, be ready for anything," the 27-year-old right-hander said.
Sanchez started for Toronto, allowing three runs — two of them earned — and five hits over five innings. He struck out four and walked three.
Despite the no-decision, Sale continued his mastery over Toronto hitters for much of the night and struck out six straight across the fourth and fifth innings. The lanky left-hander allowed three runs and six hits over nine innings. His 15 strikeouts tied his career high.
"It's amazing, he's pretty good," Maile said of Sale. "But you can't lose sight of what you're trying to do. You've got to have a plan and try to execute."
Xander Bogaerts homered and J.D. Martinez drove in a run on a groundout for the Red Sox (26-12).
Martinez drove in a first-inning run with a ground-ball out to bring home Mookie Betts. But the Blue Jays responded in the bottom of the frame with Donaldson's run-scoring single, plating Teoscar Hernandez from second.
Kendrys Morales snapped an 0-for-28 slide with a double in the second and came around to score on a single from Maile — his first RBI of the night — to give Toronto a 2-1 lead.
Bogaerts led off the fourth with a solo homer to tie the game before Boston tacked on another run on Maile's passed ball and error. The Toronto catcher dropped a third strike, then threw the ball way above first baseman Justin Smoak's head, allowing the Red Sox to take a 3-2 lead.
Manager John Gibbons was happy to see Maile redeem himself for the gaffe.
"What a year he's having, he really is," Gibbons said. "He's doing a hell of a job. He was committed. He told me: 'I'm a better hitter than I was last year,' and he's always been great defensively. ... but he's got big hit after big hit. And pitchers love throwing to him, so tip your hat."
Former Blue Jay David Price, who had his last start pushed back as he battles carpal tunnel syndrome, is expected to start the second game of the series Saturday.
NOTES: Sale has 11 or more strikeouts in four straight starts in Toronto. ... There were three video reviews during the game, including two from the Red Sox. ... Attendance was 28,695. ... Right-hander Marcus Stroman was put on the 10-day disabled list with fatigue in his throwing shoulder earlier in the day.