Flowers' blast in the fourth inning put the White Sox up 4-1.
Dayan Viciedo and Paul Konerko also went deep for Chicago, which entered the contest with a one-game lead over second-place Detroit in the American League Central.
But Chicago had to fend off a Royals rally off closer Addison Reed, who gave up RBI singles by Bryan Pena and Johnny Giavotella. Reed was able to collect his 26th save when he struck out Lorenzo Cain to end the game with a runner at second base.
Chris Sale (16-6) earned the victory, allowing one run on five hits over six frames as the Chisox evened their three-game set.
Chicago reached Royals starter Bruce Chen (10-12) for five runs on six hits through six innings.
Wisconsin business offering 'therapeutic cuddling' forced to close
Exploding whale video goes viral on Internet