John Danks (4-10) held the Rangers to two runs on eight hits in his second straight victory after breaking a long winless streak in his previous start. The left-hander walked one and struck out five.
Addison Reed finished up with his 35th save as the White Sox took 2-of-3 from the American League West-leading Rangers.
Jordan Danks unleashed a solo blast in the fourth, breaking a 2-2 tie, and Josh Phegley also went deep for Chicago.
Matt Garza (3-2) surrendered five runs (four earned) on seven hits over seven innings.
Jeff Baker hit a two-run homer for Texas.
'SNL': 'Anchorman 2' cast, One Direction sing 'Afternoon Delight' [VIDEO]
Trader Joe's: Car crashes into Long Island store, injuring 11