Jackson scored on a Miguel Cabrera first-inning double that triggered a five-run Tigers outburst that was aided by a pair of Royals errors.
Jhonny Peralta added a pair of hits and two RBI for Detroit, which banged out 14 hits in taking the first game of a rain-shortened two-game series at Comerica Park.
Porcello (2-2) broke a personal two-game losing streak, holding the Royals to three runs on seven hits and walking none while striking out three.
Kansas City's Luke Hochevar (2-2) was pounded for 12 hits in a four-inning start, yielding nine earned runs.
Alex Gordon drove in two runs for the Royals.