Dan Butler scored against his former club to give the hosts the lead and only some good work from Alex Bass was limiting the damage.
The Blues had more of a go after the break, but Siriki Dembele and Ivan Toney were shining for Posh, with the former’s neat finish ending the resistance.
Kenny Jackett made three changes from the side that eased past Rochdale on home soil in the last League One outing.
The most notable inclusion was Jack Whatmough, who replaced the suspended Christian Burgess at the heart of defence.
It was the 23-year-old academy graduate’s first league appearance since featuring against Doncaster 13 months earlier.
There were also returns for Steve Seddon and Ben Close, as Lee Brown and Andy Cannon dropped to the bench.
Former Blues full-back Nathan Thompson was part of a three-man Posh defence, while Butler played on the left of midfield.
There was no pre-match handshake as a precautionary measure because of concerns over the Coronavirus.
A minute’s applause was held, though, in memory of Peterborough groundsman Will Whitney and scout Stuart Gray, who both passed away recently.
It was Butler who was first to threaten and after his free-kick had thudded against the wall, the follow-up attempt flew narrowly over.
Cameron McGeehan’s shot at the other end was comfortably deal with by Christy Pym, as the game opened in scrappy fashion.
There were plenty of half-chances, but nothing to seriously threaten either keeper in the early stages.
Joe Ward flashed a cross-shot dangerously across the face of goal, while Tom Naylor’s header rolled straight at Pym.
Both sides then went close to breaking the deadlock in the space of a few minutes, with the hosts first up.
Toney sent Sam Szmodics racing through on goal, but Bass got down well to deny the January loan arrival.
John Marquis then used his strength to get past Mark Beevers and hit a fierce angled effort that Pym had to push behind.
It was Pompey’s best period of the first half and McGeehan shot wide, only for Peterborough to then take the lead on 32 minutes.
Dembele managed to get past Whatmough and put the ball into the centre, where there was a scramble before Butler lashed it home.
And it almost got even worse for the visitors, with Bass making a superb save to deny Toney from point-blank range.
Peterborough ended the first half firmly on the front foot and had another opportunity to extend their advantage in stoppage-time.
They broke quickly up the pitch from a Blues free-kick and Bass did just about enough to put off the marauding Dembele.
Peterborough United 1
Whatmough had, unsurprisingly, looked a bit rusty before the break and was replaced by Ross McCrorie, with James Bolton moving into the centre.
The hosts made a defensive change of their own, with Thompson withdrawn for Niall Mason, who was soon involved in the action.
Ronan Curtis went down under his challenge and appealed for a penalty, but his cries were ignored by referee Ollie Yates.
Toney was awarded a free-kick for a foul on him by Close, with the striker’s free-kick flying through the wall and having to be beaten away by the impressive Bass.
The keeper then made a more routine stop after Dembele had latched onto a long ball and hit a first-time shot.
Jackett made a second substitution 10 minutes into the second half, as Cannon was brought on for Close.
Pompey soon had a chance to get back on level terms when Seddon’s free-kick was only partially cleared, but Ryan Williams blazed the loose ball over.
They were trying to get at their hosts – despite the constant threat from Toney – but were struggling to find a path through.
Sean Raggett enjoyed a rare foray forward and eventually won a corner that fizzed across goal with nobody able to get a touch.
Jackett then made his last throw of the dice, bringing on an extra striker in Oli Hawkins, with McGeehan leaving the action.
He soon had a chance to bring the Blues level, glancing a header wide after leaping in the area to meet Curtis’ cross.
There were then more nodded efforts from both sides, with Toney sending the ball straight at Bass, while Curtis could only guide Williams’ delivery past the far post.
Peterborough were looking particularly dangerous on the break and a Pompey corner led to their next opening.
But Bass once again came to the rescue, getting down to his right to tip Szmodics’ drilled attempt around the post.
The keeper could not stop Toney from wrapping up Posh’s win on 86 minutes, though, with a neat hooked effort that flew into the net.
Peterborough (3-4-1-2): Pym; Thompson (Mason 46), Beevers (c), Blake-Tracy; Ward, Brown (Knight 74), Taylor, Butler; Szmodics (Boyd 88); Dembele, Toney
Goals: Butler 32, Toney 86
Subs not used: Chapman, Bennett, Eisa, Jones
Pompey (4-1-4-1): Bass; Bolton, Whatmough (McCrorie 46), Raggett, Seddon; Naylor (c); Williams, McGeehan (Hawkins 69), Close (Cannon 55), Curtis; Marquis
Booked: Whatmough, Cannon, Naylor, Raggett, Marquis, Curtis
Subs not used: MacGillivray, Brown, Harness, Pitman
Referee: Ollie Yates
Attendance: 9,414 (2,197 Pompey fans)