"I hit a fastball on the inner half," Moustakas said. "It was a good pitch, I wasn't trying to do too much and I was able to drive it out of the ballpark. But we're not looking for results right now, we're just looking for the process."
The Royals took an early lead when Moustakas drove in Omar Infante with a single to center in the first. Kansas City extended its lead to 2-0 in the fourth on Pedro Ciriaco's RBI single.
Both of the runs came off D-backs starter Patrick Corbin, who allowed five hits and walked two while striking out four in four innings.
Royals starter James Shields was impressive -- allowing one hit while striking out three over three scoreless innings.
"Today I felt really good out there and felt my delivery was solid," Shields said. "I've eased my way into Spring Training every single year and we try to be real methodical. You've got to listen to your body as a pitcher ... and today was a good progression."
The day was not as successful for Kansas City reliever Chris Dwyer.
Dwyer came on in the fourth and the D-backs greeted him with a four-run rally to take a 4-3 lead.
Eric Chavez had an RBI single during the inning while Mark Trumbo plated a run with a double to center. Didi Gregorius drew a bases-loaded walk.
The final run of the inning scored when Corbin's groundout to first scored Trumbo.
Up next for the Royals: Left-hander Jason Vargas will make his second start on Thursday at 2:05 p.m. CT against the White Sox at Surprise Stadium. In his first start, Vargas worked two scoreless innings against the Padres, giving up one single. Scheduled to follow Vargas are Brad Penny, Kelvin Herrera, Aaron Crow, Donnie Joseph and Sugar Ray Marimon. Left fielder Alex Gordon, nursing a shin bruise on Wednesday, is likely to return. The White Sox's probable starter is Chris Beck.
Steve Gilbert is a reporter for MLB.com. Read his blog, Inside the D-backs, and follow him on Twitter @SteveGilbertMLB. This story was not subject to the approval of Major League Baseball or its clubs.