The Kansas City Royals a four-game sweep of the Chicago White Sox with a 6-5 win Thursday afternoon in Kansas City.
Ian Kennedy gave up a run in the ninth, but struck out A.J. Reed looking with the tying run on second base to clinch the win and earn his 16th save in 19 opportunities.
The White Sox have lost seven in a row since coming back from the All-Star break and dropped a season-worst nine games under .500.
Keller (6-9) got off to a rocky start, allowing the first four batters of the game to reach base on a pair of infield hits, an error and a walk, leading to a pair of unearned runs. But Keller settled down after that and battled through 6 1/3 innings, allowing just a couple of runs after the first inning. Keller gave up nine hits, struck out seven and walked two.
Yoan Moncada matched his career high, set last year, with his 17th home run in the top of the third to make it 3-0 before the Royals scored.
Cuthbert led off the inning with a shot to left-center and Soler hit a two-run homer a couple of batters later to draw the Royals even. Billy Hamilton's two-run single later in the inning put the Royals ahead for good.
Cuthbert finished with three hits.
Bubba Starling had the best game of his young career. The 26-year-old had two hits, his first multi-hit day as a big leaguer, including his first extra-base hit when he doubled in the fifth inning and first career stolen base. Starling also scored twice, the second coming on Cam Gallagher's bunt single in the fifth inning, putting the Royals up 6-3. After going hitless in his debut, Starling has a hit in five straight games.
White Sox starter Ross Detwiler (1-1) lasted just 2 1/3 innings, giving up five runs and eight hits, struggling with his command from the beginning.
The White Sox open a three-game set with Tampa Bay on Friday. Reynaldo Lopez (4-8) will get the start for Chicago looking to build on one of his best outings of the season on Sunday, when he allowed just one unearned run and three hits over six innings. Tampa Bay has yet to announce a starter.