"It was just a poorly pitched game on my part," Johnson said. "I didn't really give us a chance to get back in the ballgame. I left too much over the plate. I had less stuff than I had in the past, I guess is the best way of putting it. [I had] less velocity on my slider and fastball, and too much over the plate on a consistent basis against a very aggressive team. I got hit pretty hard."
D-backs pitchers allowed the Royals 12 runs on 17 hits, including eight extra-base hits, all season highs for the losing club. The nine-run loss was also the worst for the D-backs all season. Every hitter in the Royals' lineup, except for pitcher Luke Hochevar (4-5), had at least one hit.
Arizona, led by Orlando Hudson's 3-for-4 night, had 10 hits of its own, but left seven runners on base.
Kansas City got off to an early 1-0 lead in the first inning when Jose Guillen singled in rookie Mike Aviles, who had three of his four hits off Johnson.
The Royals tacked on three more in the third inning, two of which were earned. The D-backs have been prone to make errors with Johnson on the mound, as he has given up eight unearned runs this season -- nearly 20 percent of the runs he's allowed, which leads D-backs starters.
"It's kind of perplexing," D-backs manager Bob Melvin said. "It looked like we tightened it up some, and we do have the ability to play good defense -- and then a couple plays get out of hand. It looked like in New York [against the Mets earlier this week] that we were back on it, playing defense -- and then tonight, sometimes you just lose your concentration a little bit, which you shouldn't."
Kansas City led, 4-1, going into the top half of the fifth inning. After three of the first four batters in the inning reached base, catcher John Buck hit a three-run homer, extending the Royals' lead to 8-2 and signaling the end of the game for Johnson, who threw 80 pitches.
"He didn't have a lot of zip on the ball today," Melvin said. "[He] left some balls in the middle of the plate, gave up  hits, which you don't normally see. Just overall, it wasn't his best stuff."
Johnson said he and pitching coach Bryan Price talked in between innings and came to the conclusion that the Unit had "good stuff," but the location of his pitches just missed.
"When you throw it over the middle of the plate, they're going to hit the ball," Johnson said. "The easiest way to say what today was, was too much over the plate with less velocity than I've had in the past."
The 44-year-old future Hall of Famer, who recently passed Roger Clemens for second place on the all-time strikeouts list, insisted he felt fine physically.
"I wish I could say that I had a sore arm or sore back, but I feel pretty good. It was just a bad-pitched ballgame," Johnson said.
Recently recalled right-hander Billy Buckner took over for Johnson in the fifth and allowed back-to-back homers to lead off the sixth, just one night after picking up his first win in his D-backs debut on Friday.
Edgar Gonzalez pitched the seventh and eighth, allowing a run in each inning. Juan Cruz pitched a scoreless ninth.
Johnson, who admits pitching isn't getting easier with age, also admitted he's a bit concerned by his recent outings, as he tries to reach another milestone, career win No. 300.
"If I was 35 years old, I wouldn't worry about it," Johnson said. "I'm 44. My last game was a situation where I didn't get hit hard. ... Two games back-to-back, you kind of start doubting yourself, but you can't do that because we're not even halfway through the season yet. It's frustrating, there's no doubt about that."
Third baseman Mark Reynolds viewed the situation more as a glass-half-full type of deal. The D-backs remained 5 1/2 games ahead of the Dodgers, who lost in Detroit earlier in the day.
"Things just weren't clicking for us tonight," Reynolds said. "It's no big deal. Everybody's confidence is there. Nobody's down on themselves."