Kansas City won for the ninth time in 11 games and handed Chicago its 10th setback in 13 contests.
Eric Hosmer started the Kansas City home run barrage with a solo shot in the second and after Perez hit his three-run blow, Alcides Escobar added a solo affair in the fourth. Jeff Francoeur tacked on a two-run shot in the fifth.
The Royals torched Chicago starter Zach Stewart and finished with 17 hits. Stewart (2-6) gave up nine runs on 12 hits in four-plus innings.
Bruce Chen (12-8) coasted to the victory by allowing only two hits and a run through eight frames.