Kurt Suzuki drove in two runs for Oakland, while Rajai Davis finished 3-for-5 with an RBI and two runs scored.
Cahill (17-7) limited Chicago to two runs on six hits and struck out seven. In doing so, he became the first A's starter since Mark Mulder in 2004 to win 17 games.
Mark Buehrle (12-12) gave up five runs on 11 hits and fanned five in six innings for the White Sox, who were officially eliminated from contention in the AL Central after Minnesota rallied to beat Cleveland earlier Tuesday.
Chicago has lost eight straight games, which it hadn't done since August 11-19, 2007.