Updated

Bruce Chen pitched out of trouble the way Arizona's Ian Kennedy could not. While Chen won his third straight start for Kansas City, Kennedy dropped to 0-4 in May.

Billy Butler and Mike Moustakas homered to back Chen and the Royals beat the Diamondbacks 7-3 Saturday night.

"Kennedy got himself in bad counts and couldn't make a pitch to get out of it," Diamondbacks manager Kirk Gibson said. "Chen got into bad situations but he did a good job of getting out of it. He got behind and would throw a cutter or change and get out of it."

Chen (3-4), who started the season 0-4, weaved his way into and out of trouble the first four innings. The Diamondbacks had two runners on in each of the first four frames but failed to score, going 1 for 9 with runners in scoring position in that span.

Jason Kubel led off the Diamondbacks' second with a double and stopped at third on Paul Goldschmidt's single. After Chen struck out Cody Ransom, Ryan Roberts flied out to center and Dyson threw out Kubel at the plate for an inning-ending double play.

"We had so many scoring opportunities and didn't do anything with them," Gibson said. "We left six guys on in the first four innings. We were very impatient with runners in scoring position. We have to do better."

Kennedy (3-4) gave up six runs on eight hits and a walk in 4 1-3 innings before being replaced by Mike Zagurski. In his past four starts, Kennedy has a 5.92 ERA, allowing 16 earned runs on 22 hits, including five home runs, in 24 1-3 innings.

"I was terrible," Kennedy said. "I was not hitting my spots and I was falling behind guys. Mostly you could say I was falling behind. Everything was bad. I wasn't getting ahead. I was leaving the ball up for the most part tonight."

Butler homered to left-center in the third with Alcides Escobar aboard. Butler also drove in Jarrod Dyson with a sacrifice fly in Kansas City's two-run fifth. Butler's eight home runs and 31 RBIs lead the Royals.

Moustakas sent his sixth homer of the season into the right-field bullpen in the fourth.

"It was a 2-0 fastball down the middle to Butler," Kennedy said. "He did what he's supposed to do. It was supposed to be inside and it wasn't. Billy Butler's a good hitter and so is Moustakas and some of their other guys. I know they're young players but they are good hitters."

Chen was chased during Arizona's two-run seventh, giving up two runs on eight hits and two walks in 6 1-3 innings. In winning his past three starts, Chen has yielded six earned runs in 19 1-3 innings for a 2.79 ERA.

Kennedy (3-4) lost his fourth straight May start, giving up six runs on eight hits and a walk in 4 1-3 innings before being replaced by Mike Zagurski. In his past four starts, Kennedy has a 5.92 ERA, allowing 16 earned runs on 22 hits, including five home runs, in 24 1-3 innings.

Goldschmidt and Roberts doubled for the first Arizona run. Willie Bloomquist singled home Roberts for the other Diamondbacks run of the inning.

Arizona added another run in the eighth against the Kansas City bullpen with Kubel's sacrifice fly scoring Justin Upton, who led off the inning with a single.

Notes: Royals LHP Everett Teaford, who was scheduled to start Sunday, was placed on the 15-day list with a lower abdominal strain. RHP Nate Adcock was recalled from Triple-A Omaha and will start in Teaford's spot. The Diamondbacks will start rookie LHP Wade Miley. ... Royals C Salvador Perez, who had knee surgery during spring training, is taking batting practice and catching bullpen sessions. He will report next week to the Royals' complex in Surprise, Ariz. to continue his rehab. Manager Ned Yost said Perez is two weeks ahead of schedule. ... Royals IF Yuniesky Betancourt, who is in the disabled list with a sprained right ankle, will start a minor league rehab stint next week. ... RHP Trevor Bauer, the Diamondbacks' 2011 first-round draft pick, made an impressive Triple-A Reno debut Friday, allowing one run and four hits with one walk and 11 strikeouts in eight innings against Oklahoma City. In nine starts with Double-A Mobile and Reno, Bauer is a combined 8-1 with a 1.60 ERA with 71 strikeouts in 56 1/3 innings. ... The Royals improved to 5-16 at home. ... SS Stephen Drew, who has been out since fracturing his right ankle on July 20, is playing in extended spring training games in Arizona. "He'll stay in extended for a while," Diamondbacks manager Kirk Gibson said. "He's pretty sore."