Kansas City (1-2) celebrated the 2014 home opener with a three-run first inning thanks to a big hit from Alex Gordon.
The veteran left fielder hit a bases-clearing double to right field to put the Royals ahead.
Omar Infante came up with his first RBI single in his new home stadium in the second inning to open up a three-run gap.
Billy Butler crossed the plate in the fifth on a wild pitch, and Lorenzo Cain followed with a two-run base hit to give Kansas City a 7-2 lead.
Chicago (2-2) made a push with runs in the sixth and seventh, but couldn't complete the come back.
Jeremy Guthrie gets the win in his first start of the season giving up four earned runs in 5 2/3 innings.
Five pitchers came out of the Royals bullpen in relief of Guthrie and allowed just one unearned run in 3 1/3 innings. That includes Greg Holland's first save of the season getting two strikeouts in one inning of work.
Nori Aoki and Infante each had three hits in the win. Gordon finished with three RBI, while Cain drove in two.
Game two between the Royals and White Sox is Saturday at 1:20pm. Bruce Chen makes the start for Kansas City.