The Seattle Mariners' Robinson Cano celebrates after hitting a sacrifice fly to drive in the winning run against the Toronto Blue Jays in the 12th inning on Wednesday, Sept. 21, 2016, at Safeco Field in Seattle. The Mariners won, 2-1, in 12 innings. (Dean Rutz/Seattle Times/TNS)
The Seattle Mariners' Robinson Cano celebrates after hitting a sacrifice fly to drive in the winning run against the Toronto Blue Jays in the 12th inning on Wednesday, Sept. 21, 2016, at Safeco Field in Seattle. The Mariners won, 2-1, in 12 innings. (Dean Rutz/Seattle Times/TNS)

Seattle — Robinson Cano drove in the winning run with a sacrifice fly in the 12th inning and the Seattle Mariners avoided a series sweep with 2-1 victory over Toronto on Wednesday, preventing the Blue Jays from extending their wild-card lead.

Knuckleballer R.A. Dickey (10-15), who pitched five scoreless innings in his last start Friday, came in on the 12th for his first relief appearance after 29 starts.

Guillermo Heredia reached on a two-base throwing error by third baseman Josh Donaldson to open the 12th. Ben Gamel followed with an attempted sacrifice bunt, and first baseman Ryan Goins appeared to have Heredia at third, but the ball popped out of Donaldson’s glove on the tag.

Cano then followed with a run-scoring fly to left, quieting the decidedly pro-Blue Jays crowd, bolstered for the third straight game by thousands of fans from western Canada.

Nick Vincent (4-4) pitched two scoreless innings for the win.

After being blanked on two hits for eight innings, the Blue Jays tied it in the ninth on Jose Bautista’s 19th home run, a one-out solo shot to left off closer Edwin Diaz.

Yankees 11, Rays 5

St. Petersburg, Fla. — Rookie Gary Sanchez hit two more homers and drove in five runs, Masahiro Tanaka won despite allowing four home runs in the third inning and New York beat Tampa Bay.

The Yankees moved within 2½ games of Baltimore for the second AL wild-card spot. New York also would have to jump over Seattle, Houston and Detroit to earn a postseason berth.

Sanchez hit a three-run shot in a four-run second off Alex Cobb (1-1) and added his 19th homer in 43 games this season on a solo drive in the sixth against Justin Marks.

Tanaka (14-4) won his seventh straight decision.

Rockies 11, Cardinals 1

Denver — Nolan Arenado hit a grand slam, German Marquez pitched five solid innings for his first major league win and Colorado slowed St. Louis’ playoff chase.

Arenado made it 6-1 in the second with his NL-leading 39th homer.

Cubs 9, Reds 2

Chicago — John Lackey pitched seven solid innings for his first win in six weeks and Miguel Montero drove in three runs, helping Chicago sweep Cincinnati.

Kris Bryant hit his 38th homer and Dexter Fowler also connected as major league-leading Chicago moved a season-high 42 games over .500. The Cubs (97-55) also matched their win total from a year ago and lowered their magic number for clinching home-field advantage throughout the NL playoffs to two over Washington.

Astros 6, Athletics 5

Oakland, Calif. — Evan Gattis homered twice, catcher Jason Castro threw out a runner to end the game and Houston beat Oakland to complete a series sweep.

Oakland scored on second baseman Jose Altuve’s fielding error with two outs in the ninth inning to pull to 6-5.

Braves 4, Mets 3

New York — Center fielder Ender Inciarte robbed Yoenis Cespedes of a game-winning homer for the final out, and the Mets were handed another costly defeat by last-place Atlanta.

With two runners on in the bottom of the ninth inning, Cespedes launched a drive to deep right-center. Inciarte raced to the wall and timed his jump perfectly, catching the ball just above the orange line atop the fence.

He held up his glove in excitement as Cespedes turned and walked slowly off the field.

Nationals 8, Marlins 3

Miami — Max Scherzer pitched 6 2-3 innings to tie for the National League victory lead with 18, helping Washington beat Miami.

Scherzer (18-7) allowed three runs and struck out eight to push his major league-leading total to 267. He’s tied for with Chicago’s Jon Lester for the most wins in the NL.

Ryan Zimmerman hit a three-run homer and Trea Turner also homered for the Nationals.

Indians 4, Royals 3

Cleveland — Corey Kluber allowed two runs and struck out nine in 6 innings, and Cleveland defeated the Kansas City, eliminating the reigning World Series champion from the AL Central race.

The Indians, who led Detroit by seven games in the division going into Wednesday, reduced their magic number for clinching the Central to five.

Angels 5, Rangers 4

Arlington, Texas — Mike Trout hit his 28th homer and Jered Weaver went six innings for his 150th victory in an Angels uniform, helping Los Angeles beat the AL West-leading Texas.

The magic number for Texas (90-63) to win its second consecutive AL West title remained at two after the loss and second-place Houston’s victory at Oakland.

Pirates 4, Brewers 1

Milwaukee — Sean Rodriguez hit a home run and a two-run single, Andrew McCutchen went deep, rookie Chad Kuhl pitched six strong innings and Pittsburgh beat Milwaukee.

Pittsburgh began the day 4½ games behind San Francisco for the second NL wild card spot.

Phillies 8, White Sox 3

Philadelphia — Tommy Joseph homered, doubled and drove in three runs and Jerad Eickhoff outpitched Chris Sale as Philadelphia defeated Chicago.