The White Sox banged out 15 of their hits during the final two innings, when they scored 10 times to break open a 1-1 game. Chicago sent 13 men to the plate during a monster eighth frame, scored seven runs.
Viciedo provided a solo shot, a two-run blast and finished with four RBI while Adam Dunn went 3-for-5 with a two-run clout and three runs batted in as the White Sox snapped a four-game slide.
Jose Quintana (4-2) notched the victory, allowing three runs on six hits over eight innings.
Detroit's Justin Verlander (9-6) was rocked for five runs on 12 hits over seven full innings, absorbing the loss.
Miguel Cabrera belted his 29th homer of the year -- a two-run shot -- for the American League Central-leading Tigers.