Kluber (2-2) didn't walk a batter and let Cleveland manager Terry Francona give his bullpen some needed rest. Kluber is the first Cleveland pitcher with a complete game, 11 strikeouts, no walks and no earned runs since Len Barker's perfect game in 1981.
David Murphy and Asdrubal Cabrera delivered two-run hits in the Indians' five-run fifth off Bruce Chen (1-2), who controlled Cleveland's lineup for four innings.
"Obviously, I'm not very happy with the fifth inning," said Chen, who had retired 11 straight heading into the fifth. "I wasn't able to make good pitches. Early in the game I was mixing my pitches well. There were some key at-bats where I could have made better pitches."
The Royals scored their only run -- and unearned one -- off Kluber in the seventh when Omar Infante singled and scored when Indians first baseman Nick Swisher made a half-hearted attempt at Mike Moustakas' grounder, which got by him for an error and rolled all the way into the right-field corner.
Other than that, Kansas City's hitters were unable to do much against Kluber, whose previous long outing was 8 2/3 innings last July against the White Sox. He's 3-0 in four career starts against the Royals.
Watch the Royals Live pregame and postgame shows before and after every Kansas City Royals game on FOX Sports Kansas City.
"He put it to us," said Alex Gordon, who went 0 for 4 and struck out to end the game. "Give him credit. You look at our offense today and say we stunk. That's how it was."
Chen coasted through four innings, dominating the Indians with a mix of off-speed pitches before they touched him for five runs and chased him in the fifth.
The left-hander gave up a leadoff single to Cabrera in the first but clamped down on the Indians until the fifth, when Carlos Santana led off with a double, snapping an 0-for-16 slide with just his third hit in 48 at-bats. Michael Brantley followed with a single to center for his team-leading 19th RBI, giving Cleveland a 1-0 lead.
The Indians didn't stop there as Murphy slapped a two-run single to left, and Cabrera made it 5-0 with his double down the left-field line to end Chen's outing. It was Cleveland's biggest inning this season.
"It's part of the game," Chen said. "I have to be more consistent. The first four innings I was able to establish all my pitches. I just need to do it the whole game."
Kansas City managed just one hit off Kluber in the first four innings, and then the Royals ran their way out of a scoring chance in the fifth.
Alcides Escobar singled with two outs and Jarrod Dyson followed with a base hit. Escobar hesitated rounding second, and his indecision cost him as Brantley threw him out from center trying to take third.
The Royals turned a nifty double play to end the first.
With Cabrera at third, first baseman Eric Hosmer fielded Jason Kipnis' hard grounder, stepped on first and threw home. Catcher Brett Hayes made a sweeping tag on Cabrera, who was called out. Crew chief Bill Miller called for a review to see if Hayes had blocked the plate, but the call was confirmed.
NOTES: Royals 1B coach Rusty Kuntz returned to the team after undergoing surgery on his broken left arm. Kuntz was struck during pregame batting practice Monday. He had a plate and eight screws inserted. There's no timetable on his return to the coaching box. ... The Royals open a three-game series in Baltimore on Friday with Yordano Ventura (1-1) facing Ubaldo Jimenez (0-3). ... Royals RF Norichika Aoki is batting .111 (5 for 45) on the road and .441 (15 for 34) at home. ... Slumping catcher Salvador Perez got the day off. He's in a 1-for-26 slide.