The White Sox were ahead 7-4 when the Royals' Mike Jacobs tied the score with a pinch-hit three-run home run in the top of the eighth. Alex Rios led off the home half of the eighth with a walk, took second on a sacrifice bunt by Alexei Ramirez and then scored the go-ahead run on Podsednik's one-out single.
Jayson Nix and A.J. Pierzynski each hit a two-run homer and Podsednik drove in a run with a double in the fourth for Chicago, which won for the third time in its last four games.
Mark Buehrle started for the White Sox, allowing four runs on nine hits in six innings.
Scott Linebrink (3-5) gave up the home run to Jacobs but got the victory after the Sox came back to win it.
Yuniesky Betancourt hit a two-run home run for the Royals, who lost for the third time in four games.
Kansas City starter Brian Bannister went seven innings, giving up seven runs on 10 hits.
Roman Colon (1-3) took the loss in relief for the Royals.