Toronto slugger Justin Smoak spoiled a brilliant outing by Cleveland's Trevor Bauer, who was two outs from a shutout victory.
Smoak tied the score with a homer in the ninth inning and knocked in the winning run with a two-out single in the 10th as the Blue Jays beat Indians 2-1 on Tuesday night.
Smoak got the winning hit off lefty Tyler Olson (1-1), scoring Eric Sogard.
Toronto's Ken Giles (2-2) pitched one inning and earned the win.
The Indians carried a three-hitter into the ninth before Smoak played the role of spoiler, homering with one out off closer Brad Hand. Smoak's 17th homer was his second in two days. He hit a solo shot in Monday's 7-3 loss to Cleveland.
"We faced some tough guys tonight, Bauer and then one of the best closers in the game in Hand," Smoak said.
Hand squandered a save opportunity for the second time in 29 chances.
"Trevor pitched a really good game," Hand said. "It's a tough one to swallow."
Hand, who gave up a run while nailing down the save in Sunday's 5-4 win over Kansas City, was scored on in consecutive appearances for the first time this season.
"I feel like my last few outings, my breaking ball has been real good," said Hand, a former Chaska High School star. "I wouldn't say it was bad today, it just wasn't well located."
Adam Cimber got the first two outs in the 10th inning. Olson came on and walked Sogard, who advanced to second on a wild pitch. Sogard moved to third on an infield single by Freddy Galvis and scored when Smoak singled off the glove of a diving Jose Ramirez at third base.
Boston 5, Tampa Bay 4: Christian Vazquez hit a tiebreaking home run in the seventh inning, Marcus Walden bailed Boston out of a bases-loaded jam in the ninth and the Red Sox beat the Rays on the road to move into second place in the AL East for the first time since the second day of the season.
The defending World Series champions have recovered from a 3-8 start and improved to a season-high 10 games over .500 at 56-46, moving one percentage point ahead of the Rays (57-47), who have lost seven of eight.
"It seems like it's been an eternity to get to 10, but we know where we're at now," manager Alex Cora said.
"It seemed early in the season that those guys were way ahead of us," Cora added. "It's something that we learned, that we can catch up with people."
Oakland 4, Houston 3: Matt Olson hit a three-run home run in the ninth inning and Ramon Laureano added a ground-rule RBI double with one out in the 11th, giving the Athletics a win over the Astros in Houston.
Oakland starter Mike Fiers allowed six hits and two runs in 7 ⅔ innings but did not factor into the decision. He hasn't lost since May 1
New York 5, San Diego 2: Robinson Cano hit three home runs leading Jason Vargas and the Mets over the Padres in New York.
The 36-year-old Cano drove in all five runs and went 4-for-4. Vargas pitched one-hit ball for six shutout innings.
St. Louis 4, Pittsburgh 3: Paul Goldschmidt homered for the second consecutive night, Jose Martinez added his 10th home run this season and Dakota Hudson rebounded from a shaky start to lead the Cardinals past the Pirates in Pittsburgh.
Washington 11, Colorado 1: Trea Turner hit his second career cycle, Stephen Strasburg earned his major league-leading 13th win and the Nationals routed the Rockies at home.
Kansas City 5, Atlanta 4: Lucas Duda came through with Kansas City's first pinch-hit homer of the season to break a tie in the eighth inning, and the Royals held on for a victory over the first-place Braves in Atlanta.
Miami 5, Chicago 1: Caleb Smith retired his first 17 batters and cruised through seven innings of two-hit ball, and the Marlins beat the White Sox in Chicago.