Danny Duffy pitched strong six innings and ended a nine-start winless skid, and Jorge Soler and Nicky Lopez hit back-to-back RBI singles twice as the Kansas City Royals beat the Chicago White Sox 7-5 on Wednesday night.

Duffy (4-5) who took a liner off his throwing hand against Detroit in his last start Friday, scattered six hits and struck out five in sending Chicago to its season-worst sixth straight loss.

More Images
Kansas City Royals' Bubba Starling breaks his bat while grounding out during the first inning of the team's baseball game against the Chicago White Sox at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. (AP PhotoOrlin Wagner)

Danny Duffy pitched strong six innings and ended a nine-start winless skid, and Jorge Soler and Nicky Lopez hit back-to-back RBI singles twice as the Kansas City Royals beat the Chicago White Sox 7-5 on Wednesday night.

Kansas City Royals' Whit Merrifield is tagged out by Chicago White Sox Ryan Goins shortstop while during the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. (AP PhotoOrlin Wagner)s

The second of Soler and Lopez's consecutive two-out, RBI hits put Kansas City up 6-0 and gave Duffy some run support. The Royals had scored just 15 runs over Duffy's last eight outings.

Kansas City Royals starting pitcher Danny Duffy delivers to a Chicago White Sox batter during the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. (AP PhotoOrlin Wagner)

Ryan Goins homered in his first major league game this season, a two-run shot into the Royals' bullpen in the sixth inning. That snapped a 15-inning scoring drought for the White Sox that dating to Monday's game.

Chicago White Sox starting pitcher Ivan Nova delivers to a Kansas City Royals batter during the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. (AP PhotoOrlin Wagner)

Soler and Lopez also slapped RBI singles in the first inning, the fourth time in six games since the All-Star break Kansas City has scored in the opening frame.

Chicago White Sox shortstop Ryan Goins (17) fields a ground ball hit by Kansas City Royals' Lucas Duda during the sixth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. Second baseman Yolmer Sanchez, left, backs up the play. Duda was out at first base on the play. (AP PhotoOrlin Wagner)

Kansas City made three outs on the basepaths and Chicago made two. Merrifield was thrown out trying to advance to third on a ground out in the first inning and was picked off between first and second to end the second inning. Soler ended the fifth inning when he was thrown out at second after Lopez's single. Leury Garcia was doubled off second on a line drive by James McCann, ending a threat by the White Sox in the fourth inning. Wellington Castillo was thrown out trying to advance to third on a passed ball in the fifth.

Kansas City Royals relief pitcher Ian Kennedy, left, shakes hands with catcher Meibrys Viloria following  the team's baseball game against the Chicago White Sox at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. The Royals won 7-5. (AP PhotoOrlin Wagner)

More AP MLB: https://apnews.com/MLB and https://twitter.com/AP_Sports

Chicago White Sox second baseman Yolmer Sanchez (5) tags out Kansas City Royals' Jorge Soler (12) during the fifth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. Soler was tagged out after overrunning second base. (AP PhotoOrlin Wagner)

Chicago White Sox second baseman Yolmer Sanchez (5) tags out Kansas City Royals' Jorge Soler (12) during the fifth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. Soler was tagged out after overrunning second base. (AP PhotoOrlin Wagner)

Duffy's strong start followed Jakob Junis' seven innings of one-run ball Monday and Glenn Sparkman's complete game shutout Tuesday.

Kansas City Royals' Bubba Starling breaks his bat while grounding out during the first inning of the team's baseball game against the Chicago White Sox at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. (AP PhotoOrlin Wagner)

Kansas City Royals' Bubba Starling breaks his bat while grounding out during the first inning of the team's baseball game against the Chicago White Sox at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. (AP PhotoOrlin Wagner)

The second of Soler and Lopez's consecutive two-out, RBI hits put Kansas City up 6-0 and gave Duffy some run support. The Royals had scored just 15 runs over Duffy's last eight outings.

A.J. Reed hit a three-run homer, his first, with two outs in the ninth inning off Wily Peralta. Ian Kennedy entered the game and completed the one-out save, his 15th in 18 opportunities..

Ivan Nova (4-9) lasted just 4 2/3 innings and struggled with his command. He allowed six runs and six hits with five walks. White Sox starters have struggled over the last three weeks, going 4-8 with a 5.11 ERA in the last 17 games. The last White Sox starter to throw more than six innings was Lucas Giolito on June 8.

Kansas City Royals' Whit Merrifield is tagged out by Chicago White Sox Ryan Goins shortstop while during the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. (AP PhotoOrlin Wagner)s

Kansas City Royals' Whit Merrifield is tagged out by Chicago White Sox Ryan Goins shortstop while during the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. (AP PhotoOrlin Wagner)s

Ryan Goins homered in his first major league game this season, a two-run shot into the Royals' bullpen in the sixth inning. That snapped a 15-inning scoring drought for the White Sox that dating to Monday's game.

The White Sox have scored just 18 runs in their last eight games and scored more than three runs for the first time since Independence Day. In six games since the All-Star break, Chicago has been outscored 44-12.

The Royals have come roaring out of the All-Star break, winning five of six, for their best stretch of the season. Kansas City has also won two consecutive series for the first time this season.

Kansas City Royals starting pitcher Danny Duffy delivers to a Chicago White Sox batter during the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. (AP PhotoOrlin Wagner)

Kansas City Royals starting pitcher Danny Duffy delivers to a Chicago White Sox batter during the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. (AP PhotoOrlin Wagner)

Soler and Lopez also slapped RBI singles in the first inning, the fourth time in six games since the All-Star break Kansas City has scored in the opening frame.

Whit Merrifield had three more hits and was on base five times, extending his hitting streak to 15 games. He also increased his league-leading hit total to 128. During the streak, Merrifield is hitting .410 (25-61).

BASERUNNING GAFFES

Chicago White Sox starting pitcher Ivan Nova delivers to a Kansas City Royals batter during the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. (AP PhotoOrlin Wagner)

Chicago White Sox starting pitcher Ivan Nova delivers to a Kansas City Royals batter during the first inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. (AP PhotoOrlin Wagner)

Kansas City made three outs on the basepaths and Chicago made two. Merrifield was thrown out trying to advance to third on a ground out in the first inning and was picked off between first and second to end the second inning. Soler ended the fifth inning when he was thrown out at second after Lopez's single. Leury Garcia was doubled off second on a line drive by James McCann, ending a threat by the White Sox in the fourth inning. Wellington Castillo was thrown out trying to advance to third on a passed ball in the fifth.

UP NEXT

The Royals and White Sox conclude their four-game set with a day game Thursday. Brad Keller (5-9) will start for the Royals, looking to continue a strong July. Keller has allowed just two runs in 13 2/3 innings this month and is coming off a career-high eight innings Saturday in a 4-1 win over Detroit. Ross Detwiler will get the ball for the White Sox, making his third start of the season. The righthander is 1-0 with a 5.02 ERA this year.

Chicago White Sox shortstop Ryan Goins (17) fields a ground ball hit by Kansas City Royals' Lucas Duda during the sixth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. Second baseman Yolmer Sanchez, left, backs up the play. Duda was out at first base on the play. (AP PhotoOrlin Wagner)

Chicago White Sox shortstop Ryan Goins (17) fields a ground ball hit by Kansas City Royals' Lucas Duda during the sixth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. Second baseman Yolmer Sanchez, left, backs up the play. Duda was out at first base on the play. (AP PhotoOrlin Wagner)

More AP MLB: https://apnews.com/MLB and https://twitter.com/AP_Sports

Kansas City Royals relief pitcher Ian Kennedy, left, shakes hands with catcher Meibrys Viloria following  the team's baseball game against the Chicago White Sox at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. The Royals won 7-5. (AP PhotoOrlin Wagner)

Kansas City Royals relief pitcher Ian Kennedy, left, shakes hands with catcher Meibrys Viloria following the team's baseball game against the Chicago White Sox at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. The Royals won 7-5. (AP PhotoOrlin Wagner)

Chicago White Sox second baseman Yolmer Sanchez (5) tags out Kansas City Royals' Jorge Soler (12) during the fifth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. Soler was tagged out after overrunning second base. (AP PhotoOrlin Wagner)

Chicago White Sox second baseman Yolmer Sanchez (5) tags out Kansas City Royals' Jorge Soler (12) during the fifth inning of a baseball game at Kauffman Stadium in Kansas City, Mo., Wednesday, July 17, 2019. Soler was tagged out after overrunning second base. (AP PhotoOrlin Wagner)