The Tigers produced 15 hits and roughed up Cleveland starter Corey Kluber to snap a two-game skid and win for the 20th time this season.
Alex Avila doubled home two runs in a three-run second to get Detroit going, Prince Fielder delivered a solo shot in the third and Cabrera then broke things open with his three-run blast that gave the Tigers a 7-2 lead.
Andy Dirks added a solo homer in the seventh.
The offensive explosion allowed Detroit starter Max Scherzer to easily remain unbeaten. Scherzer (5-0) gave up four runs on only five hits through eight innings. He threw a mere 103 pitches while striking out seven.
Kluber (2-2) allowed eight runs on 11 hits in 4 2/3. The Indians had won four in a row.