KANSAS CITY, Mo. -- Salvador Perez had been scuffling.
In a 6-for-32 skid, Perez dropped in two opposite-field, two-out hits to drive in a pair of runs and help the Kansas City Royals beat the Chicago White Sox 7-6 on Saturday night.
"Salvy is kind of like the Cracker Jack prize," said Royals manager Ned Yost. "You never know what you're going to get from night to night. He can step up there and pop the ball from foul line to foul line. I wasn't really encouraged or surprised that he's able to do that."
More from FoxSports
White Sox right-hander Jeff Samardzija (8-6) failed to make it out of the fifth, giving up seven runs on six hits, two walks and a hit-batter. In his past two starts, Samardzija has allowed 16 runs and 13 hits in 9 1/3 innings, escalating his ERA to 4.62.
"You play two good teams, and if you're not on your game, it's going to come back to get you," Samardzija said. "It doesn't change nothing. You've got five days and you start again, so we'll go back to work and be ready next time."
Perez's first RBI came in a three-run fourth.
Kendrys Morales, who also had two RBIs, and Perez picked up back-to-back run-producing doubles with two out in a four-run fifth. Jarrod Dyson led off the inning with a triple and scored on Mike Moustakas' sacrifice fly.
Jose Abreu homered to lead off the fourth and sixth innings for his fifth multi-homer game for the White Sox, but it wasn't enough.
Jeremy Guthrie (8-7), who was making his first start since July 29, picked up the victory, although he gave up six runs on 10 hits, including both of Abreu's homers, in 5 2/3 innings.
"I couldn't get over the hump," Guthrie said. "I made the game closer than it should have been."
The Royals led 7-2 after five innings, but the White Sox batted around in a four-run sixth, which included a two-run, two-out Adam Eaton single.
Greg Holland struck out the side in the ninth to claim his 25th save in 28 opportunities.
The Royals are 9-3 against the White Sox this season.
"I don't know if you expect this," Ventura said, "but you know guys are going to have a bump here and there. This one, when you score that many against these guys, you have to kind of earn it. For them, they put the runs up. It's our job to try to stop them, and right now it's just not happening."
White Sox: Eaton was back in center field Saturday after leaving in the fourth inning Friday when he jammed his left shoulder making a catch. "You like his attitude," White Sox manager Robin Ventura said. "He believes he needs get back in there and get after it. We're better when he's in there. It's that simple, and he knows that."
Royals: OF Alex Gordon (strained left groin) took batting practice for the first time since going on the disabled list July 9. "I've still got a while," Gordon said. "I might look great, but there is still a lot of things I've got to accomplish before I go out there."
White Sox: LHP Jose Quintana is 0-6 with a 4.63 ERA in 15 career starts against the Royals.
Royals: LHP Danny Duffy is 3-1 with a 3.09 ERA in seven career starts against the White Sox, whom he will be facing for the fourth time this year.