Porcello (7-5) ran his undefeated string to five starts, yielding only one run on five hits through eight innings.
The right-hander didn't issue a walk and struck out four as the Tigers clinched their three-game series and vaulted over the White Sox into first place in the American League Central by one-half game.
Jackson's two-run double in the fifth inning erased 1-0 deficit and the outfielder added a two-run single in the eighth to cap the scoring.
Brennan Boesch provided a three-run homer for Detroit.
Chicago's Chris Sale (11-3) took the loss, sustaining his first setback since May 12 -- a span of 10 starts. The left-hander surrendered five runs on seven hits over seven innings.