Chicago sent 12 hitters to the plate in the seventh and broke the game open against Anibal Sanchez (7-5) and Joakim Soria. Alexei Ramirez added a three-run double in the inning.
Jose Quintana (6-7) allowed two runs and nine hits in six innings.
Detroit made three errors, including two in that seventh inning. Soria made his first home appearance since the Tigers acquired him in a trade with Texas. He retired only one of the seven hitters he faced and allowed his first two homers of the season.
Abreu hit his major league-leading 31st homer of the year. He finished with three hits, extending his hitting streak to 18 games.