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.
Marc Rzepczynski (2-2) started the eighth and took the loss after allowing a Magglio Ordonez single, but it was Shawn Camp who surrendered the triple to Peralta.
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.