TORONTO — Less than two months ago, Rich Hill was pitching for the Long Island Ducks in an independent league.

On Sunday, the 35-year-old lefty took the mound for the Boston Red Sox and struck out 10 against the AL East-leading Toronto Blue Jays.

Toronto lost its grip in the eighth inning, and the Red Sox broke ahead on a sacrifice fly by Jackie Bradley Jr. for a 4-3 win.

Hill (1-0), making his second start since being promoted from Triple-A Pawtucket, earned his first big league win since July 14, 2013, when he pitched in relief for Cleveland.

“He’s been really special these past two outings,” Bradley Jr. said. “It’s fun playing behind him, that’s for sure. He’s keeping other teams off balance, he’s making the pitches when he needs to and he’s obviously given us a chance to win ball games.”

Hill gave up three runs and seven hits in seven innings. He walked none and was one shy of his career high for strikeouts.

“We did a good job mixing in the changeup around the fourth inning,” Hill said. “(Catcher Sandy Leon) did such a great job back there again today.”

Hill, who allowed only one hit and fanned 10 at Tampa Bay last week, became the first pitcher in Red Sox history to strike out at least 10 in each of his first two Boston starts.

“I can’t say enough about what he did,” Boston interim manager Torey Lovullo said.

The Blue Jays began the day with a 3½-game lead over the New York Yankees, who played at night against the Mets. Toronto hosts the Yankees in a three-game series starting Monday night.

The last-place Red Sox rallied from an early 3-0 deficit and took two of three at Rogers Centre.

It was 3-3 when Toronto reliever Brett Cecil (3-5) made an error that let Pablo Sandoval reach to open the eighth. Mark Lowe came in to pitch, and Sandoval took second on a groundout and then moved to third on Leon’s single.

Bradley hit a fly ball to center field, and Kevin Pillar’s throw home was on line, but catcher Dioner Navarro couldn’t handle the short hop and Sandoval scored.

“I think we got lucky on that play,” Lovullo said. “They executed the throw pretty well but they didn’t catch it.”

The unearned run snapped Cecil’s scoreless innings streak at 26. He hadn’t allowed a run since June 21 against Baltimore.

Toronto matched a season high with three errors, two of which led to runs.

“I’m not going to dwell on that,” Manager John Gibbons said. “It was costly today. I’m not concerned about it.”

Noe Ramirez worked the eighth and Robbie Ross Jr. finished for his fourth save, striking out pinch-hitter Justin Smoak with a runner at second.