Scherzer (15-6) fanned nine, extending his club record of nine straight starts with eight or more strikeouts. The right-hander, who won his fifth consecutive outing, has 204 strikeouts over 162 2/3 innings this season.
Scherzer scattered four hits and issued just one walk for the second-place Tigers, who beat Chicago for the seventh time in eight home contests and moved to within one game of the American League Central leaders.
Chicago starter Francisco Liriano (5-11) coughed up seven walks and four hits in just four innings, yielding three runs.
Orlando Hudson drove in the only run for the White Sox, who dropped their fifth in six games.