Tigers 6, White Sox 4: Miguel Cabrera hit a three-run homer while Omar Infante drove in a run and scored as visiting Detroit avoided a three-game sweep against Chicago.

Cabrera went deep for the fifth time in his last six games to bring the Tigers back from an early deficit. Rick Porcello (9-6) scattered a season-high 11 hits over six frames but held the White Sox to three runs while helping Detroit maintain its lead six-game lead over Cleveland in the American League Central.

John Danks (2-10) dropped to 0-5 in his last eight outings after getting tagged for six runs (four earned) and nine hits over 7 1/3 innings. Gordon Beckham enjoyed his second three-hit game of the series for Chicago, which fell short in its bid to sweep the Tigers for the first time since April 4-6, 2008.

Avisail Garcia – acquired from Detroit at the trade deadline – sparked a three-run first inning with an RBI single off Porcello and Jeff Keppinger followed with a sacrifice fly before Conor Gillaspie delivered an RBI single to right. The Tigers evened it in the third as Bryan Holaday and Austin Jackson opened the frame with singles and Cabrera hit a towering fly ball over the fence in left.

Infante capped off three straight one-out hits with an RBI single to break the tie in the sixth and the Tigers jumped ahead 6-3 on Gillaspie’s throwing error later in the inning. Alexei Ramirez’s RBI infield single in the eighth cut into the deficit, but Joaquin Benoit got the final two outs of the inning and stranded two runners in scoring position in the ninth for his 15th save.

GAME NOTEBOOK: Cabrera’s home run was his 12th on the first pitch of an at-bat, most in the majors. … Eleven of the 15 runs Danks has yielded to the Tigers in his three starts this season have come via seven homers. The left-hander has surrendered 22 home runs in 16 outings, four fewer than he allowed in 36 starts over the previous two seasons. …. Chicago's No. 2 through No. 6 hitters (Beckham, Ramirez, Adam Dunn, Garcia and Keppinger) each had at least two hits, but the White Sox stranded 15 runners.