Manager Terry Francona thinks the Indians are a bit tired as they slog their way through August with a big lead in the AL Central.
Corey Kluber says fatigue is no excuse.
"I think most teams are probably tired," Kluber said. "We've got to find ways to push through, motivate yourself, whatever you want to call it. You have those times where maybe you're a little tired or you're dragging a little bit."
Fillmyer (2-1) limited the Indians to three hits and two walks, striking out three, and allowed his only run with a second-inning balk.
"He changed speeds extremely well. He worked the inside part of the plate, outside part of the plate," Royals manager Ned Yost said. "For the most part he was ahead in the count and he was on the attack."
Kansas City pounded out 14 hits, nine against Kluber (16-7), who went 5 1/3 innings, allowing five runs with two walks and six strikeouts.
"I thought he was OK," Francona said. "There were some pitches, a couple of cutters, a couple of fastballs he didn't locate and he really paid for it. I thought his breaking ball was a little bit better. The mistakes, they jumped on them pretty good when he made them."
The Indians had won 16 of 20 before getting outscored 29-9 in the four consecutive defeats, which matches their season-worst skid.
"We look a little tired," Francona said. "We're going to have to find a way tomorrow to show up and grind our way through and find a way to win. We've got a day off coming on Monday. We have to fight through it."
Duda hit his 12th homer this season and the 150th of his career in the sixth, a solo shot to right-center field. Two batters later, Hunter Dozier drove in Jorge Bonifacio with a single to put the Royals ahead 5-1 and drive Kluber from the game.
"It feels nice to beat a first-place team and show that we've got a good club here," Duda said.
Duda had three hits and scored twice, while Ryan O'Hearn drove in three runs. Prior to 2018, Duda was 3 for 36 in his career against the Indians, but he has eight extra-base hits in 11 games against Cleveland this year, batting .275 (11 for 40).
"He had three steps before Kluber threw the ball to the plate," Yost said. "Kluber could very easily have stepped off and threw him out. There was a little bit of luck in there, too."
O'Hearn's double scored Salvador Perez and Duda to give the Royals a 3-1 lead in the fourth.
Merrifield doubled to bring Mondesi in the seventh, and O'Hearn's eighth-inning single brought in Duda, who had doubled to lead off the inning.
Kluber had his five-game win streak against the Royals snapped, and Kansas City's five runs were its most against him since June 15, 2016, when the Royals last beat the reigning AL Cy Young Award winner.
"I just felt like there were some pitches I executed pretty well, and you tip your hat to them. They did a good job putting them in play and found some holes with them," Kluber said. "I wasn't perfect by any means. It was one of those days like you feel like maybe it could have gone better, but it is what it is."
Indians: RHP Neil Ramirez (lower back spasms) is travelling with the team and throwing. "He's out there playing catch," manager Terry Francona said. "We're trying to make these things go away." ... RHP Cody Anderson (right elbow) was slated to begin a rehab assignment in the Arizona League. It would mark his first regular-season time on the mound since the end of 2016 as he recovers from surgery to repair his ulnar collateral ligament.
Seeking their first series sweep in more than a month, the last-place Royals send Jorge Lopez (0-2, 3.99 ERA) to the mound for his third start since being acquired in the trade that sent Mike Moustakas to the Brewers. Shane Bieber (7-2, 4.36) starts for Cleveland.