NEW YORK -- Dan Johnson had a tie-breaking infield single with one out in the top of the seventh inning and hit a three-run home run in the ninth as the Toronto Blue Jays ended a 17-game losing streak at Yankee Stadium with a 6-4 victory Saturday afternoon.

Toronto won at Yankee Stadium for the first time since Aug. 29, 2012 and did so on a day when it loaded the bases twice. The Blue Jays did not score with the bases loaded in the first but capitalized on shaky New York defense to scratch across a run in the seventh.

The Blue Jays had runners on second and third after right fielder Melky Cabrera walked and first baseman Jose Bautista doubled to the left field corner against Shawn Kelley (1-3). On the next pitch, it seemed to be the first out but as first baseman Brian McCann fielded a ground ball from catcher Dioner Navarro, he first looked over to third and was unable to make the out at first.

After Kelley recorded the first out, Matt Thornton gave up the game-winning hit, a bloop single that barely reached the infield going between second baseman Brian Roberts and Thornton. Roberts did not field it cleanly, the ball went under the glove and Cabrera scored.

In his next at-bat, Johnson came up with two on and one out against Jeff Francis and drove a 2-1 pitch into the right field seats for his first home run since joining the Blue Jays.

Johnson's big day ended the second-longest road losing streak in any ballpark by Toronto. The Blue Jays' longest skid was 19 straight losses at Baltimore's Memorial Stadium from 1978 to 1981.

Before taking the lead, the Blue Jays scored twice in the fifth on an RBI single by Navarro and a sacrifice fly by third baseman Steve Tolleson.

McCann hit a two-run home run in the fourth and designated hitter Carlos Beltran hit a two-run home run in the ninth for the Yankees, who fell to 7-2 on a season-high 10-game homestand and lost at home to the Blue Jays for the third time in 24 games and 12th time in 51 games all-time at new Yankee Stadium.

Drew Hutchison (7-9) ended a three-game losing streak by allowing two runs and five hits in 6 2/3 innings.

Aaron Loup stranded Carlos Beltran at first for the final out of the seventh and stranded two in a scoreless eighth by striking out left fielder Brett Gardner on a full count. Loup's outing featured a 10-pitch at-bat by third baseman Chase Headley on a strikeout and a sprawling dive by Bautista to field a throw from shortstop Jose Reyes on an Ichiro Suzuki groundout.

Closer Casey Janssen recovered after allowing Beltran's 12th home run in the ninth and easily finished up.

NOTES: Yankees 1B Mark Teixeira missed his sixth straight game with a lower lat strain. Teixeira did some stretching and running Saturday and will do tee and toss Sunday before the Yankees decide to place him on the disabled list. ... Before Friday's game, Toronto manager John Gibbons said he hoped to have 1B Edwin Encarnacion back before July 31. Encarnacion tweaked his quadriceps while swinging at the team's minor league complex in Dunedin, Fla., on Friday and there is not a timetable for his return. ... According to Toronto's game notes, LHP Mark Buehrle is the second pitcher to lose 10 games in a row against the Yankees in the last 50 years. The other was Dennis Martinez, who dropped 13 straight from 1984-98. ... LHP Chris Capuano became the 11th starting pitcher for the Yankees this season. He allowed two runs and five hits over six innings in his first start since Sept. 6 for the Los Angeles Dodgers. He was the 47th player to appear for the Yankees, who used a team-record 56 players last season.