On 11 minutes, Bristol City created the first opportunity of the afternoon as former Charlton Athletic winger Scott Wagstaff evaded two challenges and burst into the box, but his left-footed effort was weak and Olejnik made a comfortable stop.
Reid was cautioned for a foul on Barnett, moments after Flint squandered a good heading opportunity from a set-piece, failing to get enough on the delivery.
A cross from Mark Little was headed wide at the near post by Britt Assombalonga on 20 minutes as Posh grew into proceedings.
The deadlock was broken on 23 minutes, Craig Alcock cut inside his marker, and unleashed a fierce right-foot shot from 25-yards that goalkeeper Fielding could only parry into the path of Tyrone BARNETT, and the inform striker made no mistake to give Posh the lead.
Posh were given the opportunity to make it 2-0 on 26 minutes as Assombalonga was felled in the box by O'Connor and referee Mr Adcock pointed to the spot. Lee Tomlin stepped up to take the spot-kick, but Fielding made a smart save diving to his left.
Pack fired wide for the Robins on 37 minutes as the home side pressed in the final stages of the first period.
On 50 minutes, Emmanuel-Thomas curled a left-footed shot over the crossbar and moments later, he was ruing that miss.
Swanson fed ASSOMBALONGA and he was around 20-yards from goal on his weaker left-foot when he unleashed a stunning drive into the top right hand corner leaving goalkeeper Fielding with absolutely no chance.
The former Watford man was close to making it 3-0 as he got on the end of a low Swanson shot, but he couldn't divert it goalwards. On the hour mark, Emmanuel-Thomas lifted a shot over the bar from 18-yards after wriggling into the box.
Barnett was cautioned for a high foot on Packon 66 minutes. Marlon Harewood replaced Reid as Sean O'Driscoll made his first change of the afternoon.
Darren Ferguson responded in kind with a double change as Grant McCann and Daniel Kearns replaced Danny Swanson and Lee Tomlin.
Substitute McLoughlin saw an effort comfortably saved by Olejnik on 83 minutes. Two minutes later, an excellent piece of individual skill from Assombalonga tight to the touchline saw him feed Barnett, but his shot went over the bar.
It was 3-0 and game over on 87 minutes as Kearns fed ASSOMBALONGA, he used his pace and power to get past Flint, despite the big centre back tugging the shirt and he had the presence of mind to dink the ball over the advancing Fielding.
Harewood was denied by goalkeeper Olejnik before Baldock's curler was clutched by the shot-stopper.
Final Score: Bristol City 0-3 Posh
Bristol City: Fielding, Moloney (sub McLoughlin 80min), Flint, Reid (sub Harewood 70min), Wagstaff, Cunningham, Bryan, O'Connor, Pack, Baldock, Emmanuel-Thomas. Unused subs: Parish, Williams, Shorey, Elliott, Burns.
Posh: Olejnik, Alcock, Bostwick, Swanson (sub McCann 75min), Payne, Tomlin (sub Kearns 75min), Barnett, Knight-Percival, Rowe, Little, Assombalonga. Unused subs: Day, Ntlhe, Zakuani, Mendez-Laing, Gordon.
Attendance: 11,134 (396 Posh fans)