Sale (8-2) won his fifth straight start, holding his opponents to two runs or fewer in each of them. The left-hander yielded only four hits to the Astros, didn't walk a batter and fanned seven.
The former first-round draft choice threw 70 of his 101 pitches for strikes as the American League Central-leading White Sox evened their three-game home series.
Dunn's bases-loaded clout in the eight inning -- his 19th round-tripper of the year -- capped a five-RBI day for the slugger. Gordon Beckham went 3-for-5 with three RBI in the Chisox win.
Alejandro De Aza added four hits with a run batted in for Chicago.
Astros starter Jordan Lyles (1-2) didn't make it out of the fifth inning. He was roughed up for five runs (four earned) on seven hits in 4 1/3 innings.
Jed Lowrie homered for Houston's only run.