Dunn cracked a three-run shot in the eighth inning to put the game away and prevent second-place Detroit from grabbing a share of the division lead.
Chicago had lost five consecutive games coming into Monday's contest.
Alexei Ramirez drove in Chicago's other run.
Brett Meyers (3-3) was credited with the win after pitching a scoreless eighth in relief of Chris Sale. Sale gave up three runs on 10 hits over seven innings.
Vinnie Pestano (3-3) took the loss after serving up the home-run pitch to Dunn in the eighth.
Cleveland outhit Chicago 13-7. Russ Canzlet led the attack with a two-run homer. Shin-Soo Choo, Asdrubal Cabrera and Jason Kipnis all had two hits apiece.