Fans watch during the fourth inning of a baseball game between the Kansas City Royals and the Chicago White Sox as a full moon rises, Tuesday, Aug. 20, 2013, in Kansas City, Mo. (AP Photo/Charlie Riedel)— AP

Fans watch during the fourth inning of a baseball game between the Kansas City Royals and the Chicago White Sox as a full moon rises, Tuesday, Aug. 20, 2013, in Kansas City, Mo. (AP Photo/Charlie Riedel)
/ AP

Chicago White Sox starting pitcher John Danks throws during the first inning of a baseball game against the Kansas City Royals Tuesday, Aug. 20, 2013, in Kansas City, Mo. (AP Photo/Charlie Riedel)— AP

Chicago White Sox starting pitcher John Danks throws during the first inning of a baseball game against the Kansas City Royals Tuesday, Aug. 20, 2013, in Kansas City, Mo. (AP Photo/Charlie Riedel)
/ AP

Chicago White Sox's Gordon Beckham is congratulated in the dugout after hitting a solo home run during the first inning of a baseball game against the Kansas City Royals Tuesday, Aug. 20, 2013, in Kansas City, Mo. (AP Photo/Charlie Riedel)— AP

Chicago White Sox's Gordon Beckham is congratulated in the dugout after hitting a solo home run during the first inning of a baseball game against the Kansas City Royals Tuesday, Aug. 20, 2013, in Kansas City, Mo. (AP Photo/Charlie Riedel)
/ AP

KANSAS CITY, Mo. 
John Danks shut down Kansas City's scuffling offense for eight innings, and the Chicago White Sox did just enough damage against Ervin Santana to squeak out a 2-0 victory over the Royals on Tuesday night.

Danks (3-10) ended an eight-start winless streak by scattering seven hits and a walk. That the veteran left-hander's finest start of the season came against the Royals wasn't much of a surprise: Danks improved to 5-0 against them in 13 career starts.

Addison Reed worked around a leadoff single in the ninth for his 32nd save. It wrapped up the first shutout win for the last-place White Sox since a 3-0 victory against the Los Angeles Angels on May 17.

Gordon Beckham homered off Santana (8-7) in the first inning for the only earned run. The only other run came in the second, when Paul Konerko trotted home from third on a passed ball that curiously disappeared in the padding behind home plate.

Except for those two blemishes, Santana matched zeros with Danks through six innings. He walked two and struck out five, including Josh Phegley to leave the bases loaded in the fourth.

It was the fourth straight win for the White Sox and the third consecutive loss for the Royals, who are slip-sliding out of wild-card contention after a spirited run.

The biggest mistake of Santana's night came on the 1-1 pitch he threw to Beckham. The second baseman turned on it with a fury and sent it sailing into the Royals' bullpen in left field for his fourth homer of the year.

Beckham's drive was impressive, but the most memorable play of the night happened in the second.

Konerko led off with a double, and Avisail Garcia singled to put runners on the corners. Santana was facing Conor Gillaspie when he threw a pitch that bounced off the tip of Salvador Perez's glove, and then bounced toward the backstop behind home plate.

The ball disappeared in the green padding above one of the advertising signs, and Perez threw up his hands as if to say, "What now?" Meanwhile, Konerko had started to trot home with a confused look on his face, and for a moment nobody in the ballpark seemed to know what was going on.

Garcia was awarded second base, but Santana retired the next three batters to limit the damage.

Kansas City's bullpen pitched three shutout innings once Santana left the game, but its woeful offense couldn't break through against Danks, who came into the game with a 4.54 ERA. He never allowed a runner to reach third base while winning for the first time since July 2.

NOTES: Danks was 0-5 with a 4.70 ERA in his previous eight starts. ... Royals 3B Mike Moustakas (left calf) expects to play Wednesday, manager Ned Yost said. ... White Sox 3B Jeff Keppinger (sore back) was a late scratch from the starting lineup. Gillaspie took his spot after missing two games with a bruised left hand. ... Royals OF Lorenzo Cain (oblique) is progressing with workouts but has not started baseball activities. ... White Sox RHP Andre Rienzo will start Wednesday night's game against Royals RHP Jeremy Guthrie.