The White Sox scored four times in the first inning, getting two runs on a fielder's choice ground ball by Jim Thome and a throwing error by Adam Everett, and then adding two more when Konerko drove in Thome.
Gordon Beckham capped the scoring for Chicago with a second-inning solo home run and Richard (4-3) made the lead stand up, scattering five hits with two walks and three strikeouts. Tony Pena pitched a perfect ninth in a non-save situation.
The White Sox avoided a four-game sweep in Detroit and finished the weekend two games behind the first-place Tigers in the AL Central Division.
Detroit starter Rick Porcello (9-7) went 5 1/3 innings, allowing five runs on five hits with two walks and one strikeout in his third loss in four starts.
Magglio Ordonez and Miguel Cabrera had two hits apiece for the Tigers and Ordonez scored the only Detroit run on Ryan Raburn's fielder's choice grounder in the fourth inning.
Konerko had been 0-for-13 and 1-for-22 before driving the first-inning home run over the left-field wall.