SAN FRANCISCO Mike Moustakas hit his 18th home run leading off the second inning, Jorge Bonifacio and Lorenzo Cain followed with back-to-back shots in the third and the Kansas City Royals beat the San Francisco Giants 7-2 on Wednesday to complete a two-game sweep.