The striker reacted quickest in the 70th minute when a shot from a team-mate was blocked in a crowded area and he turned to bury a low drive past goalkeeper Steve Phillips.
Posh had created the better chances in a close game and Phillips twice denied Craig Mackail-Smith during the first half.
Rovers had made a bright start and looked to have a good claim for a penalty rejected when Rickie Lambert's 12th-minute header appeared to strike the arm of defender Chris Westwood.
But Peterborough had the dominant midfield player in George Boyd, who continually found space to prompt some dangerous moves.
Lambert had a good chance to equalise at the death, but his header from Stuart Campbell's free-kick was glanced wide. The final opportunity fell to Rovers' David Pipe in injury-time, but he sent a far-post header just wide.