Reymond Fuentes homered in the eighth -- his first of the spring season -- to get Kansas City on the board. Balbino Fuenmayor added an RBI single in the eighth, his second hit of the game, and scored on Cam Gallagher's double.
Left-hander Patrick Corbin, who will be the D-backs' No. 3 starter as announced on Friday, worked three scoreless innings, giving up two hits while striking out one.
Right-hander Chris Young, likely the Royals' No. 4 starter, threw two innings and was hit hard. Young gave up four runs and six hits, including back-to-back homers to Ahmed and Marzilli. Young struck out three.
"Chris Young, his command was off a little bit today. But he got his work in," Royals manager Ned Yost said.
Joakim Soria, who signed a three-year, $25 million deal with the Royals over the offseason, pitched one inning and gave up three runs, all unearned after a two-out error by second baseman Omar Infante.
Royals right-hander Dillon Gee, fighting for a roster spot, struck out three and allowed one run on four hits in three innings.
"I thought Dillon Gee looked good and I thought Soria pitched well," Yost said. "He actually got through his inning, but we couldn't make a play [error on Infante] and then he got a slider up [for a homer], which he'll do early in spring.
"Pitching-wise, we're making progress. We're getting our work in but we didn't have good results."
Up next for D-backs: The D-backs will play two on Saturday when they host the Royals at 1:10 p.m. MST and travel to Scottsdale Stadium to take on the Giants at 1:05 p.m. MST. Shortstop Jean Segura is expected to be back in the lineup against the Royals after missing three days with a bruised knee. Rubby De La Rosa will start against Kansas City with closer Brad Ziegler scheduled to get into his first Cactus League game. Archie Bradley, who is competing for the No. 5 spot in the rotation, will start against the Giants. Watch both games live on MLB.TV.
Up next for Royals: The Royals will travel to Salt River Fields on Saturday for the rematch against the D-backs at 2:10 p.m. CT. Right-handers Kris Medlen, Kyle Zimmer, Wade Davis and Kelvin Herrera will be the first four pitchers for the Royals. The game can be seen on FOX Sports Kansas City or MLB.TV.