With one down and pinch-runner Austin Jackson on second, Peralta slapped a sinking liner to right, which escaped under the glove of the sliding Jose Bautista. Jackson scored easily to break a 2-2 tie.
The Blue Jays placed runners on the corners with one down in the ninth, but Jose Valverde induced Juan Rivera into a game-ending double play to record his 18th save of the season.
Joaquin Benoit (2-3) worked a scoreless eighth to earn the win.
Victor Martinez went 2-for-4 with two RBI for the Tigers, who have won three straight and four of five.
Adam Lind belted a solo home run in the makeup of a May 17 rainout, as the Blue Jays saw a three-game win streak come to an end.
Tigers manager Jim Leyland was ejected in rather humorous fashion in the seventh inning after arguing a call with first base umpire Ed Rapuano. Outfielder Andy Dirks laid down a sacrifice bunt to move Ryan Raburn over to second base, resulting in a close play at first base. Dirks was clearly out, but Rapuano initially made a delayed call of safe before being overruled by home plate umpire Alfonso Marquez.
Leyland was clearly not happy, yelling profusely in Rapuano’s face for a lengthy amount of time. He even reenacted Rapuano’s call in front of him, complete with hand gestures. Rapuano did not take kindly and quickly ejected the skipper to a rousing ovation from the Comerica Park crowd.