KANSAS CITY, Mo. (AP) -- Salvador Perez came up with the winning hit right after Nori Aoki made the game-saving catch.
Perez hit a go-ahead RBI double with two outs in the eighth inning and the Kansas City Royals beat the Chicago White Sox 4-3 Saturday.
Alex Gordon doubled off left-hander Scott Downs (0-1) before Perez hit Maikel Cleto's second pitch down the left-field line.
Wade Davis (1-1) let the White Sox tie it at three when gave up two runs in the eighth on two singles, a walk, a hit batter and sacrifice fly.
Greg Holland worked around a leadoff walk for his second save in two days.
Royals right fielder Aoki prevented the White Sox from taking a lead when he made a lunging catch of Alexei Ramirez line drive to end the eighth with two runners on base.
"Nori made a tremendous catch that saved the game from being cracked open there," Royals manager Ned Yost said.
Aoki, a six-time Gold Glove winner in center field in Japan, got a good jump on Ramirez's scorcher.
"It was a situation where we couldn't give up any more runs," Aoki said through an interpreter. "That was the play I was most happy with. The only thing was the sun was in my eyes."
Ramirez already had two singles and believed he had one over extra bases over Aoki's head.
"I don't think it got up in the wind enough to have a chance," Paul Konerko said "That's what the game comes down to sometimes, something so small."
Conor Gillaspie hit an RBI single in the eighth before Konerko's sacrifice fly tied it and gave him 146 RBIs against Kansas City, the most by any opponent.
Royals left-hander Bruce Chen allowed one unearned run on six singles, walked none and struck out seven in 6 1-3 innings, but had to settle for a no-decision.
White Sox left-hander John Danks did not allow a hit until the fourth inning, when six straight Kansas City batters reached base.
"I wish I had an explanation for it," Danks said. "It was the heart of the lineup. I was trying to come inside and just lost control a little. Hosmer I got behind 2-0 and you don't want to make too good a pitch to him."
Omar Infante, Eric Hosmer, Butler and Alex Gordon opened the inning with singles. Butler's single scored Infante for the first run, while Mike Moustakas walked with the bases loaded for the other run. Butler drove in another run in the fifth with a sacrifice fly.
"John just had the one inning where it got out of hand and he lost his control and it came back to bite us," White Sox manager Robin Ventura said.
Moustakas' fielding error led to an unearned White Sox run in the fifth. Adam Eaton's groundout scored Ramirez.