Wade Davis (1-1) let the White Sox tie it at three when gave up two runs in the eighth on two singles, a walk, a hit batter and sacrifice fly.
Greg Holland worked around a leadoff walk for his second save in two days.
Royals left-hander Bruce Chen allowed one unearned run on six singles, walked none and struck out seven in 6 1-3 innings, but had to settle for a no-decision.
White Sox left-hander John Danks did not allow a hit until the fourth inning, when six straight Kansas City batters reached base.
Omar Infante, Eric Hosmer, Butler and Alex Gordon opened the inning with singles. Butler's single scored Infante for the first run, while Mike Moustakas walked with the bases loaded for the other run. Butler drove in another run in the fifth with a sacrifice fly.
Moustakas' fielding error led to an unearned White Sox run in the fifth. Adam Eaton's groundout scored Ramirez.
NOTES: The Royals designated for assignment IF Pedro Ciriaco, who has a .277 career batting average in the majors with four clubs, and purchased the contract of RHP Aaron Brooks from Triple-A Omaha. With the addition of Brooks, the Royals have a 12-man pitching staff. Brooks, who was a starter in the minors, will go to the bullpen. . The White Sox have lost their first two away games after going an AL worst 26-55 in road games last year. . White Sox RF Avisail Garcia, in an 0-for-13 funk, was given the day off. . Aces LHP Chris Sale of the White Sox and RHP James Shields of the Royals are set to pitch Sunday.