The White Sox trailed 7-1 in the night game before getting two runs in the sixth. They closed to 7-to-6 when Jim Thome hit a three-run homer off Chad Durbin in the seventh.
Rob Mackowiak opened the eighth with a bad-hop double past first baseman Sean Casey, moved to third on a grounder and scored the tying run on a single by Scott Podsednik.
Podsednik stole second. After a walk, Pierzynski hit a liner that bounced right in front of Guillen. Had Guillen controlled the ball, he might have started a double play.
Matt Thornton is 3-and-3 with the win.
Detroit's lead in the A-L Central is down to a game and a-half over Cleveland.