KANSAS CITY, Mo. -- Aaron Sanchez can be beat, just not often.

Danny Duffy outpitched Sanchez, stopping a 10-game winning streak by the Toronto ace and leading the Kansas City Royals over the Blue Jays 4-2 on Saturday night.

Sanchez (11-2) hadn't lost since April 22 against Oakland. He allowed four runs and nine hits in six innings.

"It's not like I thought he was out there distracted or rattled or anything," Blue Jays manager John Gibbons said. "They just beat him. Nobody's invincible."

Sanchez still leads the AL with a 2.85 ERA.

The Blue Jays opted earlier this week to go with a six-man rotation instead of putting the 24-year-old Sanchez in the bullpen in an effort to limit his innings. Sanchez said he was "absolutely" happy with the decision to keep him in the rotation.

"It was definitely stressful early on," Sanchez said. "But, we sat down and we talked about it and we came up with the best possible solution. Them asking me, me giving my input, and figuring out what's best.

"And I think when it came down to it, we sat down for a while and we came up with something they wanted to do and something I wanted to do. Something that we felt the team would like to. I think at the end of it, it's all said and done and we can move forward now. And all this is behind."

The All-Star righty pitched only 102 innings last year, including 9 2/3 in the minors on a rehab assignment after a shoulder injury. He has thrown 145 1/3 innings this season.

Duffy (8-1) won his seventh straight decision. In his last start, he struck out a team-record 16 and permitted just one hit over eight innings at Tampa Bay. On Saturday, he held the Blue Jays to two runs and five hits over 6 2/3 innings.

Kelvin Herrera picked up his fourth save in six chances with a perfect ninth.

Devon Travis led off the game with a home run for the second straight night. He also had an RBI single in the fifth after Kevin Pillar doubled.

Eric Hosmer hit a two-out, two-run single in a three-run fifth that made it 3-2. Alcides Escobar's infield single scored Kansas City's first run.

"That inning they did a really good job of playing small ball," Sanchez said. "You got Hosmer coming up with a big hit to score two more, a weird inning. If I go back, I don't think I'd take anything back. They did exactly what I wanted them to do; they kept the ball on the ground. Just didn't go my way tonight."

Raul Mondesi had an RBI triple in the sixth for his first extra-base hit in his 11th game in the majors.

The Royals scored more than three runs in a game for the first time in 10 games.

LEADING OFF

Travis became the first Blue Jay to hit a leadoff home run in back-to-back game since Jose Cruz Jr. on April 22-23, 2000, against the Yankees. Mookie Betts of the Red Sox was the last to accomplish that feat in the majors, doing it last month.

TRAINER'S ROOM

Royals: LHP Mike Minor (recovery from labrum surgery in left shoulder) is slated to throw five or six innings, up to 80 pitches, in a rehab start for Triple-A Omaha on Sunday. In his prior two rehab starts, he has allowed no earned runs and struck out eight in 5 2/3 innings.

UP NEXT

Blue Jays: RHP Marcus Stroman, who struck out a career-best 13 Astros on Monday, starts the series finale.

Royals: RHP Yordano Ventura is looking for his first victory since June 17. He is 0-5 with a 5.40 ERA in his past seven starts.