Peavy (5-1) allowed two runs on five hits and struck out six in Chicago's second win in their last three games.
The White Sox scored twice in the eighth inning to break a 2-2 tie. Addison Reed pitched a scoreless ninth for his 12th save.
Kevin Correia (4-3) took the loss for the Twins, who dropped their third game in five tries. Trevor Plouffe and Oswaldo Arcia drove in Twins' runs.