Posh made a bright start and were close to the breakthrough inside the opening two minutes as Paul Taylor's left-foot curler smacked against the post.
A forceful run from Little, already the fifth or sixth direct run from the full-back inside the opening 10 minutes, ended with his cross being diverted wide by Assombalonga, who also fired wide after a good flick-on from Barnett.
Paul Taylor fired over from 25-yards on 26 minutes as Posh continued to dominate, but goalkeeper Chris Weale was yet to be tested as the first half reached the midway point.
Posh lost the services of Little on 37 minutes with Kgosi Ntlhe replacing him. Alcock moved across to right back with Ntlhe slotting in at left-back. Assombalonga headed a corner kick over the bar on 39 minutes.
On the stroke of half-time, Barnett glanced a header from a Swanson corner kick wide of the target. On 52 minutes, Assombalonga was denied by the legs of Weale before Taylor fired over from 30-yards.
Nathaniel Mendez-Laing replaced Taylor on 63 minutes as Darren Ferguson tried to shake things up. MENDEZ-LAING did just that, attacking his full-back and curling a superb effort past Weale and into the top corner.
Swanson fired over from distance after tidy approach play from Rowe on 77 minutes. Jacobson curled a shot just wide on 86 minutes as the visitors came close to levelling the scores.
Taylor was superbly denied by Olejnik on 88 minutes before Shaun Jeffers was given his first run out in a Posh shirt, replacing Assombalonga.
Final Score: Posh 1-0 Shrewsbury Town
Posh: Olejnik, Alcock, Bostwick, Zakuani, Little (sub Ntlhe 37min), Rowe, Payne, Swanson, Taylor (sub Mendez-Laing 63min), Assombalonga (sub Jeffers 89min), Barnett. Unused subs: Day, Brisley, Kearns, Newell.
Shrewsbury Town: Weale, Jacobson, Winfield, McAllister (sub Goldson 75min), Bradshaw, Taylor, Wildig, Mkandawire, Parry (sub Reach 70min), Woods, Lopez (sub McAlindon 67min). Unused subs: Anyon, Jones, McQuade, Marsden, Goldson.
Attendance: 6,596 (391 Shrews fans)