KANSAS CITY, Mo. (AP) -- The Kansas City Royals followed up an improbable comeback with an even more unlikely win.
Their rally against the White Sox on Sunday began in the fifth inning, when substitute catcher George Kottaras and light-hitting outfielder Jarrod Dyson cracked the first back-to-back homers for the offensively challenged Royals all season.
The win happened after the White Sox had pulled back ahead, and included a couple timely hits against their ace reliever and a pair of errors that resulted in a three-run eighth inning.
The result was a 7-6 victory that allowed the Royals to avoid a three-game sweep.
''It was huge. I mean, we were on a four-game skid,'' said the Royals' David Lough, who scored one of tying run. ''For us to pull out that victory later in the game shows our resiliency.''
The White Sox had pulled ahead on a two-run double by Gordon Beckham in the seventh inning, and then brought in Jesse Crain for the eighth. He hadn't allowed a run in 29 straight innings, but gave up consecutive singles to Mike Moustakas and Lough to start the inning.
Crain (2-2) committed the first error when he couldn't field a sacrifice bunt by Elliot Johnson, loading the bases with nobody out. Crain managed to strike out Kottaras and Dyson to breathe easier, but then walked Alex Gordon to get Kansas City within a run.
The more costly error came moments later, when Alcides Escobar slapped a grounder toward shortstop that Alexei Ramirez allowed into left field to bring in the go-ahead runs.
''We have a habit of coming from behind to win baseball games and today was more of the same,'' Royals manager Ned Yost said. ''Any win like that, especially this time of the year, is huge.''
Luke Hochevar (1-1) struck out two in a scoreless innings of relief for Kansas City, while Greg Holland pitched a perfect ninth for his 16th save in 18 chances.
''It's big anytime you get a win and especially coming from behind,'' Hochever said. ''That's always a big pick-me-up for the club.''
Adam Dunn homered and drove in four runs to lead the White Sox, who were trying for their first road sweep since last September.
''It's a tough way to lose a game,'' Crain said. ''We had a chance to sweep the series, which we needed. We just have to look forward to the next game.''
Royals starter James Shields and White Sox counterpart Dylan Axelrod both endured rough afternoons, though they surely saw an exciting show once they left the game.
Shields threw six straight balls to start the game and things never got a whole lot better, his leadoff walk to Alejandro De Aza and a single later in the first inning turning into two quick runs when Dunn rapped a single off the glove of Eric Hosmer at first base.
The Royals' ace then plunked Alex Rios in the back in the third inning, and Dunn made Shields pay again for his erratic ways with his no-doubt, two-run shot to center field.
It was the 20th homer for the hot-hitting Dunn, who trails only the Orioles' Chris Davis and Blue Jays' Edwin Encarnacion for the most in the American League.
Shields wound up putting the leadoff batter on base in four of his five innings, and needed 97 pitches just to last that long. He departed without finishing six innings for the first time since last July 15 against Boston, a span of 30 consecutive starts.
The former All-Star hasn't won in his last 10 outings.
''I guess I have to start another 29-game streak now,'' he said. ''I've been pitching my butt off all season. I don't really care (about wins) as long as we win the game.''
The Royals started moving in that direction in the bottom of the third inning on Gordon's RBI single, and then pulled even against Axelrod during a three-run fifth inning.
The first two came on their back-to-back home runs - the 26th career homer for Kottaras, who was giving Salvador Perez the day off behind the plate, and just the third career shot for Dyson, who was making his first start since returning from the disabled list on Saturday.
''I put the barrel on the ball and it took off,'' Dyson said.
Escobar kept the rally alive with a double, and Billy Butler's two-out single through the left side of the infield tied the game 4-all and knocked Axelrod from the game.
Beckham's double off Kelvin Herrera in the seventh inning pushed the White Sox back in front, but a bullpen - and a reliever - that has been stingy all month finally let them down.
''He's semi-human,'' White Sox manager Robin Ventura said. ''You know eventually there's going to be a time or two when he's going to give up a run or two. It's just tough that it's today.''
NOTES: Kottaras threw out two runners on pitch outs. ... The Royals claimed RHP Maikel Cleto off waivers from St. Louis and assigned him to Triple-A Omaha. They designated OF Quintin Berry for assignment. ... The Royals are off before hosting the Braves for the first time in interleague play on Tuesday. The White Sox also are off before starting a series against the Mets.