KANSAS CITY, Mo. -- Danny Duffy tossed seven innings of three-hit ball, Mike Moustakas hit a three-run homer and the Kansas City Royals beat the New York Yankees 5-1 on Thursday night to avoid a three-game sweep.
Duffy (3-3) struck out a season-best 10 while walking two and earning his first win since April 14, against the Angels. Duffy had been 0-3 with two no-decisions in his last five starts.
Mike Minor handled the eighth before Kelvin Herrera surrendered a run in the ninth.
The Royals scored twice in the second off Jordan Montgomery (2-3) before Moustakas deposited his pitch into the bullpen in right in the fifth inning to break the game open.
Montgomery surrendered four hits and three walks over five innings.
The Royals jumped ahead in the second thanks in part to the Yankees' inability to turn a double play. They had runners on first and second when Jorge Soler sent a grounder to third base. The Yankees got the force at second but couldn't convert the relay, keeping the inning alive.
Whit Merrifield and Drew Butera followed with RBI singles for a 2-0 lead.
Montgomery proceeded to set down the next seven batters he faced before Merrifield's leadoff single in the fifth. Butera grounded into a fielder's choice, Alcides Escobar walked and Moustakas sent the first pitch he saw into the bullpen in right for a three-run homer.
Meanwhile, Duffy began to deftly dodge all sorts of trouble.
After Duffy retired thefirst nine Yankee batters, six by strikeout, Jacoby Ellsbury reached base with a well-timed bunt. He was initially called out but replays showed first baseman Eric Hosmer pulled his foot off the bag, and the call was overturned with Ellsbury getting a hit.
Duffy walked Matt Holliday later in the inning before escaping the jam.
The left-hander also put two runners aboard leading off the fifth, one on an error by Moustakas and the other with a walk. But a double play and strikeout ended that inning without a run.
Duffy stranded a runner on third by striking out Aaron Hicks to end his night.
Alex Rodriguez made his color commentating debut as FOX Sports broadcast the game. The former Yankees slugger chatted before the game with manager Joe Girardi, who spent time doing broadcast work before becoming a skipper. "The biggest thing as a broadcaster is you have to tell the story through your eyes. Don't try to be something you're not," Girardi said. "The way you understood the game is the way you can probably tell the story the best."
Royals RHP Nate Karns takes the mound as Kansas City begins a 10-game trip in Minnesota, where they were swept to start the season. The Royals were also swept by the Twins in a rain-shortened two-game set at Kauffman Stadium. Karns had a career-high 12 strikeouts against Baltimore his last time out.