KANSAS CITY, Mo. -- Danny Duffy bounced back after getting hit by a line drive that left him with numbness in his throwing hand in last start.
Duffy (4-5) pitched a 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.
"I'm really thankful that nothing bad happened and went out there and was able to compete again five days later," Duffy said.
The left-hander had all three of his pitches working. He scattered six hits and struck out five in sending Chicago to its season-worst sixth straight loss. With a heat index well above 100 degrees for most of the game, Royals manager Ned Yost was careful not to overwork him.
"It was hot, it was humid and he was starting to labor. He was getting worn out," Yost said.
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.
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. After giving up two runs in the first inning, Nova retired 13 of the next 14 batters before running into trouble again in the fifth with two outs, allowing five straight batters to reach base, three by walks.
"You don't want to give in in that situation," Nova said. "There were a couple of guys I felt like I made good pitches. To Gordon, a couple of pitches he didn't swing at. Again, I had tough luck in that situation today."
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.
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.
"We're going to keep playing; have to keep playing," White Sox manager Rick Renteria said. "That's the only thing left. If they keep battling like they did today towards the end, there's a little bit of the better life than we've seen over the last six days or whatever. There's still so much baseball left. We've got to get back on track."
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 consecutive series for the first time this season.
"It's awesome, man. It's great," Duffy said. "We're getting to that point where we're gaining confidence again. Guys are playing great. The offense is doing a great job of going up there every at-bat and having good at-bats and we're just kind of following them. As a staff, just kind of take the baton and run with it."
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).
"Another great day," Yost said. "Three hits, but it's just what he's been doing. You know, he's been as consistent as anyone in major league baseball the last couple years with his performance day-in and day-out."
Kansas City made three outs on the base paths 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.
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 right-hander is 1-0 with a 5.02 ERA this year.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
A's rookie catcher Sean Murphy undergoes knee surgery
Athletics rookie catcher Sean Murphy has undergone surgery on his left knee and is expected to be fully recovered for the start of spring training in February.
Houston Astros-New York Yankees in ALCS a matchup for the ages
Classic matchups, power at the plate and on the mound, big names aplenty. What's not to love about the ALCS we've been counting on for months?
Astros finish off Rays in Game 5 to advance to 3rd straight ALCS
Roberto Osuna strikes out Ji-Man Choi swinging for the final out as the Astros advance to their third straight ALCS.
Cole: Astros responded to the Rays' test
Gerrit Cole is elated after the Astros eliminate the Rays in Game 5 and recaps the difficult series.
Cole dominates Game 5 with historic 10-K performance
Gerrit Cole's 10 strikeouts against the Rays in Game 5 mark the 11th straight game with 10-plus K's, which sets an MLB record.
Cole, Astros beat Rays 6-1 in ALDS Game 5; Yankees next
Gerrit Cole pitched another playoff masterpiece and the Houston Astros jumped to a quick lead, turning back the Tampa Bay Rays 6-1 Thursday night in Game 5 to set up a titanic showdown with the New York Yankees in the AL Championship Series.