Salvador Perez smacked three hits, coming a home run shy of the cycle and Eric Hosmer tacked on a pair of hits for the Royals, winners of five straight games for the first time since September 7-11, 2009.
Jeff Francis (6-16) was solid in his final outing of the season, giving up two runs on eight hits over six innings. He fanned two and walked two.
A.J. Pierzynski went 3-for-4 with a double and Gordon Beckham added a double for the White Sox, who have lost five straight and were officially eliminated from the race for the American League Central Division crown.
Mark Buehrle (11-9) lasted 6 1/3 innings, giving up seven runs -- six earned -- on a career-high 15 hits while striking out only one and walking two.
"It just seems like when I make a good pitch, they're putting the ball in play, and when I make a mistake, they're crushing it," Buehrle said. "They were just finding holes and hitting the ball over the fence."
The Royals offense put two runs on the board in their first at-bat and didn't look back. Cabrera launched a one-out bomb to left-center for his 18th home run of the season. Butler followed with a single, Jeff Francoeur walked two batters later and Johnny Giavotella slapped a single to right to load the bases with two down. Perez then knocked home Butler.
Butler flied into a double play to cap the fourth inning. Alcides Escobar was caught in a lengthy rundown between third and home and was tagged out near the plate.
Kansas City extended its lead to 3-1 in the fifth when Hosmer led off the frame by beating out an infield single. He moved to second on a error by Brent Morel and came around to score on a sharp single to left by Yamaico Navarro.
The Royals came right back in the home half of the inning and extended the lead to 6-2 courtesy of Butler's 19th home run of the season, over the wall in left-center field.
Earlier in the inning, Cabrera smoked his 40th double of the season. Cabrera, Francouer and Alex Gordon now all have hit at least 40 doubles this season.
"When you do something that's never been done before in the history of baseball, that's pretty cool," Gordon said. "It's even better when you do it with a couple of teammates. It's something we can look back and share, hopefully, for awhile."
Kansas City added another run in the seventh when Perez ripped a ball off the glove of Beckham at second base and hurried all the way to third base as the ball rolled toward the tarp. Perez easily scored on a sacrifice fly by Navarro to account for the final margin.
The Royals lead the season series by a 7-5 margin...Konerko is one home run shy of his fifth career 30 home run/100 RBI season... Prior to Thursday's game, Chicago had won 14 of its last 21 games on the road...Chicago is 28-33 against the AL Central, while Kansas City is 26-35 against intra-division opposition...Pierzynski recorded his 1,500th career major league hit with the single in the sixth inning.