Estrada lost his bid for a perfect game on Logan Forsythe's infield single with one out in the eighth inning, but Chris Colabello homered in the 12th to lift the Toronto Blue Jays over the Tampa Bay Rays 1-0 on Wednesday.
Estrada also carried a no-hit bid into the eighth inning of his previous start Friday against Baltimore. This time, he struck out 10 and threw a career-high 129 pitches.
"He's been on some kind of roll," Blue Jays manager John Gibbons said.
Forsythe barely beat out a slow chopper to third that Josh Donaldson fielded barehanded. Donaldson's throw to first was just a hair too late.
"It was a little frustrating just because it wasn't hit very hard," Estrada said. "Donaldson made a great play. The guy can run a little bit, so he beat it out."
Toronto challenged the safe call by umpire Joe West, which was confirmed after a 40-second replay review.
"It wasn't a pretty hit, but it was a hit," Forsythe said. "But hats off to him."
Tampa Bay's only other hit off Estrada was Kevin Kiermaier's two-out double in the ninth that chased the right-hander.
"The ninth inning, I gave up a hard-hit ball to Kiermaier. That made it a little better," Estrada said. "Easier to forget about."
Colabello connected for a one-out shot to centre off Brandon Gomes (1-3).
It was the Blue Jays' first homer in the 12th inning or later to break a scoreless tie since Jesse Barfield did it on Sept. 26, 1986, at Boston.
"I'm proud of the guys, but that's what they're made of. This is a more character team than we've had in the past," Gibbons said.
Brett Cecil (2-4) escaped a bases-loaded jam in the 11th, and Steve Delabar got three outs for his first save of the season.
Donaldson dove a couple of rows into the stands to catch David DeJesus' foul pop leading off the eighth.
"I thought it was pretty neat," Donaldson said. "I was just trying to do anything I can to help get outs at that time."
Later on his Twitter account, he wrote: "Wanted to send a Shoutout to the Jays fan who saved my face. Also was told young jays fan was ok. He's tough."
Nathan Karns took a no-hit bid into the sixth for the Rays, but exited one inning later after giving up consecutive singles to Edwin Encarnacion and Dioner Navarro. Kevin Jepsen pitched out of the jam by getting three straight outs.
Karns gave up three hits, three walks and struck out five over six-plus innings.
Kevin Pillar got the game's first hit, a one-out single to left in the sixth. Karns later got an inning-ending pop fly from Jose Bautista with the bases loaded.
Encarnacion was the lone baserunner through five innings, drawing a leadoff walk in the second. He appeared to lose track of the outs and was easily doubled off second base after taking off for third on Russell Martin's one-out fly to centre.
Blue Jays: Gibbons said rookie 2B Devon Travis (shoulder) is expected back Friday after missing 36 games.
Rays: James Loney (broken left middle finger) hit off a tee and played catch for the first time, and manager Kevin Cash said there is a chance the first baseman could return before the All-Star break. ... RHP Jake Odorizzi (oblique) is scheduled to throw batting practice Saturday.
The Blue Jays are 2-26 when scoring three runs or fewer. ... Toronto has won two of its last three series at Tropicana Field after a stretch of 21 straight winless ones. ... Rays RHP Steve Geltz retired a team-record 32 consecutive batters before Ezequiel Carrera single in the 11th.
Blue Jays: Toronto opens a seven-game homestand Friday night against Texas.
Rays: RHP Alex Colome (3-3) will start Friday night against Boston.