The Tigers held only a 2-1 advantage heading into the eighth, but batted around in that inning on their way to snapping a two-game skid.
Detroit stayed a game behind Chicago in the race for the American League Central title.
Fister (8-8) improved to 5-1 in his last seven starts and has given himself a chance for what would be the first winning record in his 4-year career.
He struck out six, walked only one and allowed four hits while throwing 109 pitches.
Miguel Cabrera hit his 35th homer of the season, a two-run shot that gave Detroit the lead in the first inning.
They did not score again until they broke loose for three extra base hits against starter Ubaldo Jimenez and reliever Cody Allen in the eighth.
Andy Dirks tripled in a run and scored on a sacrifice fly from Cabrera, after which Prince Fielder hit a homer to left center.
Delmon Young and Avisail Garcia followed with singles and both scored on a double from Jhonny Peralta.
Jimenez (9-15) gave up four of the runs on six hits while losing his fourth straight decision.