Wilson gave up seven runs (six earned) on nine hits in 5 2/3 innings, five days after he held the Mariners to two hits.
"I don't think he threw the ball that poorly today," manager Mike Scioscia said. "C.J. wasn't able to contain some damage. A play [made] here or there, and it might've been a better result for him."
Third baseman David Freese's error on a potential double-play ball led to three runs in the second inning, when the Royals sent nine men to the plate, and took a 4-1 lead -- despite Wilson getting ahead in counts.
"Of the hard-hit balls, only [Alcides] Escobar's [three-run double in the second] was deep in the count," Wilson said. "I had some quick innings, because they were really aggressive early in the count. There's a difference when you're 0-1 on them than when it's 0-2 or 1-2, and I can make some pitches.
"You look at a team like that, and they have [catcher] Salvador Perez hitting 7-8-9, and he could be 3-4 hitter on another team. They're kind of like Tampa Bay from 2008-11. A good team offense."
Wilson added: "I have a lot of work still to do on my breaking ball. I'll be out there again in five days. I'm not going to be facing the Royals. I'm going to face the Astros, and I just have to get ready for them."
Scioscia said the Royals "took it to us in this series. We'll get better. We've had two series against two good teams, and we didn't play well in this one."
Earl Bloom is a contributor to MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.