KANSAS CITY, Mo. -- Ian Kennedy is pitching like an All-Star.
Kennedy (8-2) allowed one run on eight hits, while striking out four and walking two to lower his ERA to 2.90. In his past 13 starts, he is 7-1 with a 2.16 ERA.
Teammate Justin Upton believes Kennedy should be on the NL pitching staff for the July 12 All-Star Game at Phoenix.
|More on D-Backs at Royals|
"Absolutely, I think so," Upton said. "I've said that multiple times. He's been unbelievable this year. He deserves to be there. He's been about as tough as I've seen. We didn't give him much run support tonight, but he made it enough. He's been very impressive. He's definitely been huge for us."
Diamondbacks manager Kirk Gibson visited Kennedy on the mound with two out in the sixth and runners on the corners after Alex Gordon's double and Mike Moustakas' infield single. Kennedy thought he was going to be pulled.
"I did, first instincts," Kennedy said. "He's done it before, given me the option. I was really happy he let me stay out there. It means he has a lot of trust in me. I thank him for that. You're not given that leash a whole lot and he's given that to me a couple of times. He let me go. It means a lot to me."
Kennedy struck out Brayan Pena on four pitches to end the threat.
The NL West-leading Diamondbacks scored three runs on four hits in the fifth against Jeff Francis (3-8).
"We only had five hits, so we were very efficient," Gibson said.
Nady's double down the left-field line scored Wily Mo Pena with the first run.
"We were able to grind it out and we had that one inning to get us going," Nady said. "Guys are starting to believe in themselves. Guys are having fun and winning games and it's pretty contagious."
Willie Bloomquist, who played last year for the Royals, singled home Miguel Montero with the second run. Ryan Roberts' safety squeeze bunt scored Nady with the final run.
The Royals scored off Kennedy in the third inning when Chris Getz and Melky Cabrera singled. Getz came home when Eric Hosmer grounded into a double play.
Hosmer's triple in the seventh off Micah Owings scored Getz, who had three hits.
J.J. Putz, who blew a lead in his previous opportunity, worked a scoreless ninth to pick up his 19th save in 22 opportunities. Getz had an infield single with two out in the ninth and stole second and third. After Putz walked Cabrera, he retired Hosmer on a popup.
The Royals outhit the Diamondbacks 11-5, but grounded into three double plays, went 1 for 9 with runners in scoring position and stranded nine runners.
KC manager Ned Yost shook up his batting order, moving CF Cabrera to leadoff for the first time. LF Alex Gordon, who had batted first in his previous 30 games, was moved to the cleanup slot. Hosmer, who had been batting third but is in a 5-for-39 slump, was shifted to the second slot, where Cabrera had been batting. It was only Gordon's third career start in the fourth spot. His previous two came in his 2007 rookie season. Cabrera batted leadoff in eight games last season for Atlanta, but hit only .094 in those games. ... Upton singled in the first inning and has hit safely in 11 of his past 13 games. ... Royals RHP Sean O'Sullivan, who is on the disabled list with right biceps tendinitis, made his first minor league rehab start Wednesday for Triple-A Omaha, and allowed four runs on six hits, including a home run, in 2 1/3 innings at Nashville. ... Gibson said Owings would not be with the team Thursday, but attending a funeral in Texas. He is expected to rejoin the team Friday at Detroit.