The Toronto Blue Jays won ugly Tuesday night, overcoming sloppy play and a blown six-run lead in a 7-6 walkoff victory over the New York Yankees.

Jose Reyes made two throwing errors — including a key miscue in New York's five-run seventh inning — but made up for it by scoring the winning run in the bottom of the ninth.

New York made the final mistake as Yangervis Solarte threw wide to first base after Melky Cabrera laid a bunt down the third-base line. That allowed Reyes, who led off with a double, to trot home with the winning run to the delight of the 34,206 fans at Rogers Centre.

"It wasn't a real well-played game, but the name of the game is winning," said Blue Jays manager John Gibbons.

Dioner Navarro hit a three-run shot for Toronto (44-35), which moved 2 1/2 games up on second-place Baltimore in the American League East. The Orioles dropped a 4-2 decision to the Chicago White Sox. 

'Jose [Reyes is] a driven individual. Plus he's overdue, his bat has cooled off...He's been a little too aggressive. But perfect timing for it, you know.'- Blue Jays manager John Gibbons

The Yankees' fourth loss in a row moved them 3 1/2 games behind Toronto. Reliever Adam Warren (1-4) shouldered the loss for New York (39-37).

"It was sloppy on both sides," said Yankees first baseman Mark Teixeira. "That was an ugly game to watch. If you're a fan, you should get your money back."

The Blue Jays will go for a sweep of the three-game series Wednesday night.

Navarro put the Blue Jays on the board in the fourth inning with his blast off New York starter David Phelps. Toronto tacked on three more runs in the fifth inning when Colby Rasmus laced a shot that hit the top of the wall in right field.

Two runs came across on the play and Edwin Encarnacion rounded third when Rasmus broke for second base. The cutoff man threw to Derek Jeter at second, who had Rasmus caught in a rundown.

With Encarnacion leaning for home, Jeter decided to hang on to the ball and go for the tag on Rasmus. However, he couldn't catch up to the Toronto centre-fielder, who dived back to the bag at first base as Encarnacion scored.

Jeter rebounded with a solo homer in the sixth inning and the Yankees took advantage of two Toronto errors in the seventh to tie the game. Brian Roberts got things started by hitting a two-run homer off Toronto starter Mark Buehrle to cut the Blue Jays' lead to 6-3.

With Brett Gardner at second base and Jeter at first, Jacoby Ellsbury drove a single to left field off Dustin McGowan. Cabrera tried to get Gardner at the plate but the throw went to the backstop allowing the run to score on the error as both runners advanced.

McGowan got Teixeira to hit a chopper to second base but Reyes was short with his throw to Encarnacion at first and two more runs crossed the plate.

It gave Reyes even more incentive when he came up to bat in the ninth.

"I tried to make something happen after that mistake,"Reyes said. "They tied the game there in that situation. I have to make a better throw than that. It is what it is. Like I said, when I came up in the ninth inning I just tried to make something happen.

"I put a good swing on the ball and hit a double with nobody out."

'Perfect bunt'

Reyes also gave credit to Cabrera for making a great play that forced the errant throw.

"He laid down a perfect bunt," he said. "In that situation we need that."

It was the 13th multi-hit game of the season for Reyes, who ended an 0-for-19 skid with a single in the fifth inning.

"Jose's a driven individual," Gibbons said. "Plus he's overdue, his bat has cooled off. So it was just a matter of time. He dunked that one in earlier in the game, but he's been missing his pitches.

"He's been a little too aggressive. But perfect timing for it, you know."

Encarnacion was accidentally elbowed in the back of the head by Teixeira in the seventh inning. The Toronto slugger was face down on the dirt for several seconds as a hush came over the crowd.

Gibbons and a team trainer came out onto the field to check on him and Encarnacion eventually shook it off and stayed in the game. He had a fat lip afterwards but said there were no other issues.

"Right now I feel good, I feel great — 100 per cent," he said.

Aaron Loup relieved McGowan in the seventh and got Carlos Beltran to hit a comebacker for the third out.

The Blue Jays loaded the bases in the eighth inning but reliever Dellin Betances struck out Munenori Kawasaki to end the threat. Casey Janssen (2-0) came on in the ninth inning and gave up a single to Gardner, who eventually moved to third base with two out.

With the crowd on its feet, Janssen fanned Teixiera with a 72 mile-per-hour curveball.

"That's big to win that game," Gibbons said. "We don't win that one last year, I know that."