Adam Dunn hit a three-run homer and the Chicago White Sox defeated the Kansas City Royals 7-6 on Tuesday night.
Andre Rienzo (4-0) limited the Royals to two runs and five hits over six innings. He struck out a career-high eight.
The Royals' record dropped to 5-15 against American League Central opponents.
Gordon Beckham and Conor Gillaspie, who each had three hits, singled before Dunn homered in the eighth off right-hander Aaron Crow, who had allowed two three-run homers in his past two appearances.
Beckham has hit safely in 13 of his past 15 games, while Gillaspie increased his average to .347.
Royals rookie right-hander Yordano Ventura (2-4) took the loss, allowing four runs and seven hits, including a Tyler Flowers home run, in six innings.
Ventura threw three wild pitches in the White Sox three-run fifth, the last one allowing Beckham to score.
Danny Valencia doubled home Billy Butler and Alex Gordon with the first two Kansas City runs in the second.
White Sox relievers Scott Downs and Frank Francisco combined to retire only one of the six batters they faced in the eighth as the Royals scored three runs. Gordon and Cain had RBIs, while Cain scored on a Francisco wild pitch.
Zach Putnam restored order by retiring pinch hitter Mike Moustakas on an infield popup and Nori Aoki on a ground ball that shortstop Alexei Ramirez made a diving stop with runners on the corners.
Ronald Belisario, who threw 21 pitches and two innings Monday, gave up a run in the ninth, but earned the save.
Gordon's two-out single scored Butler, who had doubled. Jarrod Dyson ran for Gordon and stole second. Belisario struck out Cain on three pitches to end the game.