DENVER -- Joe Kennedy did something he hadn't done in his last six starts: He kept his cool.
"Joe stayed in control," Rockies manager Clint Hurdle said. "He gave up two runs in the first inning and settled in the rest of his outing. They had seven hits, but all of them were ground ball singles. Even in the inning they scored, all the hits were on the ground and that meant he was keeping the ball down."
Kennedy (4-7) allowed two runs and seven hits, with six strikeouts and no walks. He was 0-3 with two no-decisions since beating Pittsburgh on May 22.
Kennedy, who saw his ERA drop from 7.33 to 6.92, left abruptly out a side door without comment.
Garrett Atkins had a career-high four hits and three RBI, and Todd Helton had two hits as the Rockies got their second series sweep of the season.
Jose Lima (1-6) gave up four runs and six hits in 4 2/3 innings, and Mark Teahen had two hits and an RBI for the Royals, who lost their sixth straight.
"Four runs in six hits in this ballpark? Come on," Lima said. "I was just one pitch away from getting through it and keeping us in the game."
Kansas City scored twice in the first inning. David DeJesus opened with a single, advanced to third on Emil Brown's two-out single to center and scored on Teahen's single to right field. Brown, who reached third on Teanhen's hit, scored on Justin Huber's single to center.
Colorado tied it in the bottom of the inning. Atkins doubled to left with one out, and moved to third on Helton's single off Lima's glove. Preston Wilson followed with an RBI single to center, and Helton scored on Brad Hawpe's grounder to second.
Kennedy settled down, retiring 18 of 21 batters over the next six innings.
Colorado chased Lima with a two-run fifth to make it 4-2. Atkins had an RBI single and Helton an RBI double with two outs. Lima departed after walking Wilson and Hawpe to load the bases.
Kennedy helped himself with a perfectly placed bunt on a safety squeeze bunt in the sixth. Desi Relaford drew a leadoff walk, stole second, moved to third on a fly out to right and scored on Kennedy's bunt to first.
Dustan Mohr hit a solo homer for Colorado in the seventh. Atkins had a two-run double and Relaford was hit by a pitch with a bases loaded in the eighth inning.
"I'm starting to feel real comfortable at the plate," Atkins said. "I've slowed things down, not trying to do too much like I did before."
Pinch-hitter Matt Stairs hit a two-run homer, his eighth, off Matt Anderson in the ninth.
"I hate to keep giving pitchers credit, but a lot of it this weekend has to do with them," Kansas City manager Buddy Bell said. "And there isn't a whole lot more I can say."
- Mike Sweeney felt some tenderness in his wrist a day after taking batting practice. Sweeney is due to come off the DL on July 1.
- Brown's hit in the first extended his hitting streak to 13 games.
- Kennedy received an ovation when he laid down a safety suicide bunt in the sixth.
- The Rockies have set Monday as the day 2B Aaron Miles will return from the DL.
- Helton, who had two hits, had only his sixth RBI in his last 19 games.