Craig Mackail-Smith fired three in a nine-goal thriller, but Peterborough still had to hang on for their second win of the season as Bristol Rovers kept fighting back.
Posh looked much sharper up front with Mackail-Smith and Aaron McLean each grabbing a goal in the space of seven first-half minutes.
Mackail-Smith beat Steve Phillips with an angled right-footed shot after being released by McLean and he quickly returned the compliment, setting-up McLean to double the home advantage with a batting effort from a dozen yards.
Rovers clawed their way back with defender Steve Elliott jumping to convert a Rickie Lambert cross at the far post with home keeper Joe Lewis rooted to his line.
Posh lost McLean, who was carried off with a dislocated elbow, but after a five-minute delay Rovers were close to an equaliser before the break with Jeff Hughes twice finding a way through
Mackail-Smith fired a 51st minute penalty after being brought down by Aaron Lescott, but Posh held their regained two-goal cushion for just three minutes until Lescott went some way to redeeming himself with a cross that Posh defender Shane Blackett sliced into his own net.
Rovers looked unstoppable until Mackail-Smith took matters into his own hands and jinked his way around three defenders before delicately steering a 65th minute shot wide of Phillips to register his third Posh hat-trick in the last 10 months.
Casual defending cost Posh on 74 minutes with Hughes tapping home the afternoon's seventh goal from three yards after a Chris Lines cross whipped through undetected.
And still the goals continued, Scott Rendell grabbed Posh's fifth with Lambert ensuring a tense finish with a superbly struck free-kick into the top corner for Rovers' fourth.