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

Knuckleballer R.A. Dickey (10-15), who pitched five scoreless innings in his last start on Friday, came on in 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.

YANKEES 11, RAYS 5: Rookie Gary Sanchez hit two more homers and drove in five runs, Masahiro Tanaka won despite allowing four home runs in the same inning and New York won on the road.

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

INDIANS 4, ROYALS 3: Corey Kluber allowed two runs and struck out nine in 61/3 innings, and host Cleveland eliminated the reigning World Series champions from the AL Central race.

Carlos Santana was 4 for 5 with an RBI single in the eighth. Jose Ramirez drove in the go-ahead run in the fifth with his third double of the game.

ANGELS 5, RANGERS 4: Mike Trout hit his 28th homer and Jered Weaver went six innings for his 150th career victory in an Angels uniform as Los Angeles won at Texas.

Weaver (12-12), who struck out six and allowed four runs, joined Chuck Finley (165) as the only pitchers to win 150 games for the Angels.

ASTROS 6, ATHLETICS 5: Evan Gattis homered twice, catcher Jason Castro threw out a runner to end the game and the contending Astros won at Oakland, California, to complete a sweep.

Oakland scored on second baseman Jose Altuve’s error with two outs in the ninth to pull within 6-5. Castro then threw out pinch runner Arismendy Alcantara trying to steal second.

NATIONAL LEAGUE

ROCKIES 11, CARDINALS 1: Nolan Arenado hit a grand slam, German Marquez pitched five solid innings for his first major league win and Colorado slowed the Cardinals’ playoff chase with win at Denver.

Arenado broke open the game in the second with his NL-leading 39th homer of the season.

NATIONALS 8, MARLINS 3: Max Scherzer allowed three runs and struck out eight in 62/3 innings to help Washington win at Miami and match Chicago’s Jon Lester for the NL lead in victories with 18.

BRAVES 4, METS 3: Center fielder Ender Inciarte robbed Yoenis Cespedes of a game-winning homer for the final out, and host New York was handed another costly defeat by last-place Atlanta.

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

CUBS 9, REDS 2: John Lackey pitched seven solid innings for his first win in six weeks and Miguel Montero drove in three runs, helping Chicago sweep visiting Cincinnati.

Kris Bryant hit his 38th homer and Dexter Fowler also connected for the Cubs.

PIRATES 4, BREWERS 1: Sean Rodriguez hit a home run and a two-run single, Andrew McCutchen went deep, rookie Chad Kuhl pitched six strong innings and Pittsburgh won at Milwaukee.