With the score tied 2-2 in the 12th, Jarrod Dyson collected leadoff infield single against Donnie Veal (1-1), went to third on catcher Josh Phegley's throwing error and came home when Gordon belted a pitch off the top of the center field wall.
Aaron Crow (7-3) was credited with the win after pitching a scoreless 11th and Greg Holland overcame two hits in the bottom of the 12th to notch his 27th save as the Royals completed a three-game sweep and took a sixth straight overall.
David Lough and Miguel Tejada each contributed an RBI for Kansas City.
Adam Dunn smacked a solo homer for the White Sox, losers of six in seven games.
Lytro unveils camera that can focus a photo after shooting it
Yosemite climber falls 30 feet, suffers major injuries