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.

Cardinals 6, Cubs 3

CHICAGO -- Matt Adams stroked a pair of two-run doubles and St. Louis broke a tie with a four-run seventh inning against Chicago to snap a four-game losing streak.

Adams, the St. Louis first baseman, went 2-for-5 with four RBIs and a run scored. Randy Choate (2-2) got one out for the win. James Russell (0-2) took the loss after being charged with all four runs in the seventh.

Nate Schierholtz and Ryan Sweeney homered for the Cubs.

Reds 1, Nationals 0

CINCINNATI -- Brayan Pena's RBI single in the fifth inning provided all the offense and Johnny Cueto pitched seven shutout innings for Cincinnati at Great American Ball Park.

Cueto (11-6) allowed four hits with three walks and nine strikeouts while snapping the Reds' seven-game losing streak. Aroldis Chapman pitched 1 1/3 innings for his 22nd save.

Cincinnati had not won since the All-Star break and dropped four-and-a-half games in the National League Central standings. First-place Washington (56-45) leads the NL East by two games over the Atlanta Braves.

White Sox 7, Twins 0

MINNEAPOLIS -- Chris Sale pitched eight shutout innings and Chicago blanked Minnesota.

Sale gave up five hits and struck out 12 while walking two. Two of the five hits he allowed never left the infield, and all five were singles. The Twins reached second base only once against Sale all night.

Alexei Ramirez and Tyler Flowers had two hits and two RBIs apiece to pace the White Sox.

Twins left-hander Logan Darnell, making his first major league start, was roughed up in his Target Field debut, allowing seven earned runs and 11 hits in five-plus innings.

Royals 7, Indians 5

KANSAS CITY, Mo. -- Jeremy Guthrie recovered from a shaky start and Billy Butler belted a two-run homer as Kansas City rallied from a five-run deficit to beat Cleveland.

Guthrie (6-9) gave up five runs in the fourth inning but allowed just three more hits and no runs in the next 3 2/3 innings to pick up the victory, snapping his three-game losing streak.

Butler's two-run homer in the fifth put the Royals ahead to stay.

Brewers 5, Mets 2

MILWAUKEE -- Mark Reynolds hit his 17th home run of the season to lead Milwaukee over New York at Miller Park.

Batting .364 on Milwaukee's current homestand, Reynolds finished the day with two hits and moved into a tie with left fielder Khris Davis for the team home run lead.

The Brewers added an insurance run in the eighth inning on a two-out RBI double by Davis, creating some breathing room for closer Francisco Rodriguez, who worked around a one-out double for his 30th save.