Indians 4, Tigers 2: Jason Kipnis went 3-for-4 and scored the go-ahead run and Travis Hafner hit a home run as Cleveland strengthened its hold on the American League Central lead with a second consecutive win over visiting Detroit.
The Tigers had won 10 straight against the Indians entering the series, but Cleveland has taken the first two games of the three-game set.
Detroit broke up a pitchers' duel with two runs in the sixth against Indians starter Zach McAllister, scoring on Andy Dirks' RBI double and Prince Fielder's fielder's choice.
But Cleveland bounced back with two in the bottom half on Hafner's sixth home run of the season - a two-run shot off Tigers starter Doug Fister.
Kipnis singled and Asdrubal Cabrera doubled with one out in the eighth against Phil Coke (1-1) to set up the winning rally.
Hafner grounded to first against a drawn-in infield, but Fielder's throw to the plate was low and catcher Alex Avila was unable to hold on as Jason Kipnis slid home head first with the go-ahead run. Carlos Santana then lofted a sacrifice fly to deep center to add an insurance run.
Vinnie Pestano (2-0) pitched out of a bases-loaded jam in the eighth to earn the win, and Chris Perez struck out two in a perfect ninth for his 15th save.
GAME NOTEBOOK: Perez has converted all 15 save opportunities this season. … Tigers CF Austin Jackson sat out again with an abdominal strain and could be placed on the 15-day disabled list retroactive to the original injury on May 16. … Cleveland 3B Jack Hannahan missed a ninth consecutive game with tightness in his back. … Tigers hitting coach Lloyd McClendon was ejected in the seventh inning by home plate umpire Jerry Meals for arguing a called strike on Miguel Cabrera.