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) 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 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 went into the weekend in last place and took two of three at Rogers Centre. Boston rallied from an early 3-0 deficit in the wrapup.
It was 3-all 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."
On Saturday, Bradley snapped an 0-for-21 slump with two game-tying hits in a 7-6 win, including a two-run homer in the ninth.
Noe Ramirez worked the eighth and Robbie Ross Jr. finished for his fourth save and second in two days. Ross struck out pinch-hitter Justin Smoak to end it, stranding the tying run at second.
Navarro hit a two-run homer in the second and Ben Revere added an RBI single later in the inning.
Xander Bogaerts hustled to score in the Boston fourth. Running from first on an infield grounder by David Ortiz, Bogaerts kept going to third when it was left unguarded by the shift. Bogaerts scored when pitcher Mark Buehrle threw past third baseman Josh Donaldson.
"Bogey makes a heads-up play," Lovullo said. "We encourage that type of baserunning if we feel the circumstances are right."
The Red Sox tied it in the fifth on a two-out, bases-loaded single by Travis Shaw, who had three hits.
Buehrle, who has won just once in six starts, allowed three runs and eight hits in six innings.
ONE RUN WOES
The Blue Jays are 13-27 in one-run games.
Hill worked seven innings in consecutive starts for the first time since August 2007, when he pitched seven innings in three straight games for the Chicago Cubs.
Red Sox: Sandoval returned after missing the previous two games but left after scoring the go-ahead run. "After he sprinted home he got a little lightheaded so we had to make the move at that point," Lovullo said.
Red Sox: Boston returns home Monday to begin a four-game series with Tampa Bay. LHP Eduardo Rodriguez (9-6, 3.94 ERA) starts the opener against Rays RHP Chris Archer (12-12, 2.95). Rodriguez is 3-1 with a 1.72 ERA in his past five starts.
Blue Jays: LHP David Price (16-5, 2.42 ERA) starts the opener of a three-game series against the Yankees. RHP Adam Warren (6-6, 3.33) starts for New York. Price is 3-0 with a 1.89 ERA in his past three starts.