Pierzynski had three hits, two of them doubles, and drove in a run for the Sox, who jumped on Angels starter Jon Garland for three runs in the second inning. Paul Konerko and Jermaine Dye each scored a run for Chicago, which has won five of its last eight games.
White Sox starter Javier Vazquez went 6 2/3 innings, giving up three runs on nine hits with no walks and six strikeouts. Octavio Dotel (2-2) pitched 1 1/3 innings in relief to get the win.
Garland gave up three runs on seven hits over six innings with four walks and one strikeout. Francisco Rodriguez (0-1) came on in the ninth for LA with the score tied 3-3, and served up a leadoff double to Pierzynski, who scored on Thome's two-out single.
Garret Anderson had two hits and two RBI, Vladimir Guerrero had two hits and scored a run and Casey Kotchman drove in a run for the Angels, who lost their second straight game and their sixth out of eight.