Porcello (7-6), who hadn't pitched in 11 days, overcame some early shakiness to record the victory, scattering four hits. The right-hander overcame three walks and struck out one.
The Tigers broke a scoreless tie with three unearned runs in the fourth, triggered when third baseman Conor Gillaspie couldn't handle Matt Tuiasasopo's lead-off grounder.
Peralta later added a solo homer and Perez finished 2-for-3 with two RBI for American League Central-leading Detroit, which won a third straight.
Santiago (3-6) ended up yielding six runs (three earned) on five hits over six full frames.
Paul Konerko drove both Chisox runs.
Video of Victoria’s Secret models trying to 'twerk' hits Instagram
Wisconsin business offering 'therapeutic cuddling' forced to close