NEW YORK (AP) -- Dan Johnson drove in four runs with a go-ahead infield hit and a three-run homer, helping the Toronto Blue Jays end their 17-game losing streak at Yankee Stadium with a 6-4 victory over New York on Saturday.
Brian McCann's two-run homer put the Yankees ahead in the fourth, but Johnson drove in the tiebreaking run in the seventh with a bloop that fell in front of second baseman Brian Roberts, who didn't charge the ball.
Johnson's ninth-inning drive off Jeff Francis, which extended the lead to 6-2, was his first homer since hitting three for the Chicago White Sox at Cleveland on Oct. 3, 2012. Johnson also famously saved Tampa Bay on the final night of the 2011 regular season with a tying two-run, two-strike, ninth-inning homer off the Yankees' Cory Wade.
Toronto, like New York chasing Baltimore in the AL East, had not won at Yankee Stadium since Aug. 29, 2012.
Drew Hutchison (7-9) won for the first time since July 1, and Chris Capuano failed to get a decision in his Yankees' debut. Shawn Kelley (1-3) was the loser.
Hutchison gave up two runs, five hits and three walks in 6 2-3 innings with seven strikeouts. Aaron Loup walked a pair of batters with two outs in the eighth before throwing a called third strike past Brett Gardner on a 3-2 pitch.
Casey Janssen allowed Carlos Beltran's two-run homer in the ninth.
Wily Peralta earned his team-leading 12th win, and Mark Reynolds homered in the Milwaukee Brewers' 5-2 victory over the New York Mets.
Jonathan Lucroy, Ryan Braun and Khris Davis added run-scoring hits for NL Central Division-leading Milwaukee. Peralta (12-6) pitched 5 2/3 innings, giving up six hits and two runs. He walked three batters and struck out two.
Curtis Granderson had a home run and a double for the Mets.
Chris Young allowed two hits in seven shutout innings and the Seattle Mariners snapped a four-game losing streak by holding off the Baltimore Orioles 4-3.
Dustin Ackley doubled twice and scored two runs for Seattle.
After the Orioles took advantage of an error by All-Star third baseman Kyle Seager to score three times in the eighth, Fernando Rodney closed it out for his 200th career save.
Billy Butler homered for the second straight game and the Kansas City Royals overcame a five-run deficit to beat Cleveland 7-5 for its fifth straight win.
A day after his pinch-hit, two-run homer in the eighth inning beat Cleveland, Butler connected for a tiebreaking shot in the fifth. It was 5-all when he tagged Nick Hagadone for a drive over the Royals' bullpen in left field.
Carlos Santana hit his third homer in two games for Cleveland, which has lost six of seven.
Efren Navarro hit his first major league homer off Justin Verlander, and Matt Shoemaker combined with two relievers on a four-hitter as the Los Angeles Angels beat the Detroit Tigers 4-0.
Shoemaker (8-3) threw just 78 pitches through seven innings, allowing three hits and no walks while striking out five against a lineup that came in leading the AL in batting average, hits, on-base percentage and slugging percentage. The only hits off the rookie right-hander were Ian Kinsler's first-inning double and singles by Eugenio Suarez in the third and Austin Jackson in the sixth.
In other games, the St. Louis Cardinals beat the Chicago Cubs 6-3, the Tampa Bay Rays shut-out the Boston Red Sox 3-0, and the Cincinnati Reds held on for a 1-0 victory over the Washington Nationals that ended a seven-game losing streak.