Moustakas hit a three-run homer during an eight-run third inning in which 11 Royals batted. Omar Infante added a two-run double in the inning, and then Kendrys Morales homered in the fourth.
''It's definitely more of a hitter's night,'' Moustakas said. ''Both sides were putting good swings on the ball and making solid contact. It's definitely one of those days, probably not a good day to be a pitcher on either side.''
Moustakas is hitting .360 with three homers and 13 RBIs in 50 at-bats.
''These stats don't matter, but I'm feeling good at the plate, feeling comfortable in the box and seeing the ball is what's important,'' Moustakas said. ''I've been able to do a good job with that and stay with my approach, which has been pretty successful up to this point.''
Royals starter Yordano Ventura was ambushed by a group of mostly minor leaguers, allowing 10 runs on 11 hits in four innings. Ventura threw seven scoreless innings against the Giants in Game 6 of the 2014 World Series.
''I got my work in which is the most important thing, but my location was bad,'' Ventura said. ''The good thing that came out of this is I felt healthy.''
Minor leaguers Ricky Oropesa, Austin Slater and Christian Arroyo homered off Ventura and combined to drive in nine runs in the first four innings.
Giants right-hander Clayton Blackburn gave up six runs on five hits and four walks in 2 2/3 innings.
Giants: Blackburn, who led the Pacific Coast League with a 2.85 ERA last year, has an 8.62 ERA in 15 2/3 innings. He retired only eight of the 17 Royals he faced.
Royals: Ventura will pitch again on three-days rest Saturday against the Diamondbacks.
''I'm looking forward to my next start, because I want to finish spring training on a positive note,'' Ventura said.
LHP Madison Bumgarner, who will start the Giants opener Monday at Milwaukee, threw 93 pitches over six controlled innings in a minor league game. Two innings were cut short when Bumgarner reached his pitch limit. He allowed three runs on seven hits and a walk, striking out eight, including the side in the second and sixth innings. Bumgarner said his spring training ''wasn't very good.'' He had an 11.12 ERA in four big league starts, yielding 21 hits, including four home runs, in 11 1/3 innings.
''Whether I am or not, I better be ready for the season,'' Bumgarner said. ''But I feel I'm right where I need to be. It seems like there have been all sorts of spring trainings for me, good, bad and in-between, and it seems like it never necessarily reflects on how the season goes.''
Although manager Ned Yost has yet to announce his starting second baseman, it appears Infante will get the nod to begin the season. Infante went 3 for 4 to raise his average to .357, while Christian Colon, his competition, has a .125 average.
Giants: 1B Brandon Belt was ill and a late scratch, replaced by Chris Shaw.
Royals: They will begin the season with four on the disabled list: OF Jarrod Dyson (oblique strain), LHP Tim Collins (second Tommy John surgery to be scheduled), LHP Jason Vargas (rehabbing from July 2015 Tommy John surgery) and LHP Mike Minor (rehabbing from May 2015 shoulder surgery).
Giants: RHP Johnny Cueto will start at Sacramento, the Giants' AAA affiliate. Cueto had a 9.58 ERA with opponents batting .347 off him over 10 1/3 innings in three Cactus League starts.
Royals: RHP Chris Young will pitch Friday against the Diamondbacks at Chase Field. The Royals are off Thursday.