Former Cub Jorge Soler hit a pair of two-run homers among his career high-matching four hits, leading the Royals to an 8-6 victory over the Chicago White Sox on Wednesday night.
Soler has 43 homers this season, two behind American League leader Mike Trout of the Los Angeles Angels.
Adalberto Mondesi homered and had three hits, and Bubba Starling and Ryan O'Hearn also connected as the Royals beat Chicago for the fifth time in six games.
Rookie Eloy Jimenez homered, his 26th, and drove in four runs, and Jose Abreu added a two-run shot for the White Sox.
Abreu has 32 homers and 114 RBIs, which is three off the major-league lead at the start of Wednesday.
The teams combined for seven homers and have hit a total of 13 in the first two games of the series.
Glenn Sparkman (4-11) allowed three runs on four hits and snapped a nine-start winless streak. He had last won on July 16, against the White Sox at Kansas City.
Scott Barlow worked two scoreless innings and Ian Kennedy pitched the ninth for his 28th save.
Chicago starter Reynaldo Lopez (9-13) was coming off a complete-game one-hitter, but was roughed up for six runs on nine hits in 4 2/3 innings. He allowed four homers and has given up 31 in 166 2/3 innings this season.
Lucas Giolito (14-8, 3.27 ERA) faces Royals RHP Jorge Lopez (3-7, 6.23) Thursday afternoon in the finale of the three-game series. Giolito is 3-1 with a 2.32 ERA against K.C. this season. Lopez had his longest career outing last Friday at Miami with six scoreless innings.