The Tigers were trailing 1-0 in the sixth when Andy Dirks tied it with a solo blast off Indians starter Corey Kluber.
Torii Hunter followed with a double and Cabrera then golfed a pitch over the center field fence, putting Detroit ahead to stay.
The long ball was Cabrera's 12th of the year and came after he socked three round-trippers in Sunday's loss to Texas. The Tigers star raised his MLB-best RBI total to 49 -- he also leads the majors with a .384 batting average.
Max Scherzer (6-0) baffled the Tribe on one run over eight innings, allowing only two hits while walking one and striking out seven as the second-place Tigers drew to within 1 1/2 games of American League Central-leading Cleveland.
Kluber (3-3) ended up yielding three runs on eight hits over 6 1/3 frames.
Michael Brantley got the only RBI for the Indians, who dropped the first of a two-game set.