Corey Kluber, a right-hander, held the Royals to three hits for 7 2/3 innings of the Indians' American League-leading 12th shutout.
Left-hander Bruce Chen made things look easy in his first start of the season, blanking the Indians on one hit in his six innings. But his old buddies in the bullpen let a scoreless tie slip away in the seventh inning.
Fellow lefty Tim Collins was first, giving up singles to Jason Kipnis and Nick Swisher.
"I made the pitches I wanted to and they just put good swings on 'em. The last thing I wanted to do with Bruce pitching a heck of a game," Collins said. "I wanted to pound the strike zone and that's what I did, and they got two hits."
The Royals switched off to right-hander Aaron Crow and he gave up three straight hits -- an RBI single to Carlos Santana, a bunt single by Mark Reynolds and a two-run double by pinch-hitter Michael Bourn for a 3-0 score.
That's right -- a bunt by Reynolds, a slugger who hasn't put down a sacrifice bunt in the last five years.
"He hasn't bunted all year that we know of," Royals manager Ned Yost said. "It was kind of a head's-up play. It wasn't a pretty bunt, it wasn't a perfect bunt, but I don't think anybody's expecting him to bunt right there."
Certainly not Crow, despite the baseball logic of it.
"The situation calls for it and, with him up to the plate with first and second and nobody out, it's something that could happen, but it caught me off guard," Crow said.
The bunt loaded the bases with none out.
"I think that caught everybody on the Royals, in the stands, in the press box and me by surprise," Indians manager Terry Francona said. "But it might have won us the game. That was unbelievable. That's a guy that cares more about winning than trying to hit a ball 500 feet. That's impressive. ... It was a blueprint."
Bourn, getting a day off from the Tribe lineup, then ripped his double to center field on a 3-1 fastball.
"I wanted it down-and-away and it was down-and-in, but it was a great piece of hitting by him," Crow said. "He almost hit it off the ground."
That was all of the scoring although the Royals had two chances with the bases loaded, but failed each time. The first opportunity came against Kluber in the fifth, when David Lough led off with a triple and, after an out, there were two walks. But Kluber wiggled free by fanning Alex Gordon and getting Eric Hosmer on a tap to the mound.
The Royals also jammed the bases in the ninth.
Cody Allen stepped in for Indians closer Chris Perez, who was being rested, and got two strikeouts, but also gave up singles to Mike Moustakas and Alcides Escobar and walked pinch-hitter George Kottaras to load the bases.
"We were looking to try to get it to George and popping one out of there and tying the game," Yost said. "He ended up with the walk and we couldn't muster anything."
No, because Allen caught Jarrod Dyson looking at strike three to end it.
"I thought he made it interesting," Francona said of Allen's perilous journey. "Again, you're getting into dangerous territory. You're coming around to the top of the order and he's at 30-something pitches. That makes you nervous. But he didn't back off. He remembered, I think, Kottaras' at-bat in Kansas City, stayed away from the fastball out over the plate and then made his pitches on the next hitter."
Kottaras homered off Allen on July 4 in the Royals' 10-7 victory at Kauffman Stadium.
Santana's double was the only hit against Chen who, because of his long tenure in the bullpen this year, was pulled after throwing 97 pitches in six innings. His previous highs were 85 pitches, in his last relief appearance, and 4 2/3 innings.
"He'd done his job -- six strong innings," Yost said. "He was at 85 his last time out and we were looking to take him somewhere between 90 and 100 today. He did just that."
Chen admitted afterward being a bit sore, but he was masterful while he was on the mound.
"He pitched a great game," Reynolds said. "He's a magician out there. He's throwing 87-88, but he keeps you off-balance with his changeup and his cutter and his curveball. He spots up and we couldn't get anything going really against him."
But the Royals couldn't do anything against Kluber or anybody else either.
So, they won't reach their goal of .500 by the All-Star break on Monday.
"We can't, but that's why there's half a season left," Lough said.