Giavotella's first-inning hit was the third consecutive RBI single off Giants starter Yusmeiro Petit, who was charged with eight runs and nine hits in 1 2/3 innings. Following Giavotella, Anthony Seratelli walked to load the bases before Hayes drilled a three-run double.
Giavotella added a two-run single in the second inning. Hayes' RBI single capped a three-run fourth inning.
The Giants, who have lost four consecutive decisions, didn't muster a hit until the sixth inning, when Gregor Blanco tripled with one out off J.C. Gutierrez. Blanco scored as Nick Noonan, the next batter, also tripled. Brandon Belt added his fourth homer of the spring in the seventh.
Kansas City starter Yordano Ventura sparkled in his three-inning outing, walking two and striking out three.
Ventura, who started in place of sore-shouldered Wade Davis, is a top prospect who started for the World team in last year's All-Star Futures Game.
"The breaking ball and changeup were good, the fastball was hard and down -- very good," Ventura said.
Up next: Right-hander Luke Hochevar and left-hander Bruce Chen have round three of their duel for the No. 5 spot in the rotation when the Royals meet the Angels at 3:05 p.m. CT on Sunday at Surprise Stadium. Hochevar, who'll start, has given up two runs in 4 2/3 innings (3.86 ERA). Chen, who'll follow him to the mound, has given up one run in five innings (1.80 ERA). This time they'll go four innings or so. Tommy Hanson is the Angels' probable starter.