Viciedo pounded a one-out pitch from Steve Delabar (1-1) into the left-center field gap, scoring pinch-runner Dewayne Wise to break a 2-2 tie.
Hector Gimenez then provided an insurance run with a sacrifice fly for the White Sox, who won for just the second time in eight contests.
Matt Lindstrom (1-0) earned the decision after retiring one batter in the eighth and Addison Reed collected his fifth save despite surrendering a run in the ninth.
J.P. Arencibia and Colby Rasmus homered for the Blue Jays.
Celebrity Breakups and divorces of 2014 [PHOTOS]