Brett Pitman came off the bench to net a penalty and ensure Pompey’s unbeaten start to the League One campaign continued.
The first half was a largely drab affair, although the hosts did improve markedly following the interval.
It looked like a first defeat was on the cards when Greg Docherty took advantage of some sloppy defending to give Shrewsbury the lead.
But – much to the relief of the Fratton faithful – Pitman kept his cool from the spot to secure a share of the spoils.
Kenny Jackett made three changes from the side that comfortably saw off Plymouth the previous week.
With Ronan Curtis away on international duty, Andre Green was handed his league debut wide on the left.
There were also a couple of enforced switches at the back, with Christian Burgess and Nathan Thompson replacing the injured Jack Whatmough and Anton Walkes.
The Blues had got off to a flying start against Argyle, but it was flat opening 45 minutes against the struggling Shrews.
That did not look like being the case when Jamal Lowe’s shot was tipped around the post by Joel Coleman in the early stages.
But that was not a portent of what was to come, with the remainder of the half being a fairly lifeless affair.
Indeed, it was Shrewsbury who looked more likely to break the deadlock, without really being able to test Craig MacGillivray between the sticks.
Lenell John-Lewis could not connect with Shaun Whalley’s teasing delivery at the back post, while a drive from Omar Beckles was not too far off target.
And John-Lewis had another decent opportunity after Ollie Norburn had dispossessed Tom Naylor, only to fire high over the bar.
Christian Burgess had to make a timely challenge inside the box on 42 minutes to stop Josh Laurent getting a shot away.
But the visitors’ best chance came just before the break, as Anthony Grant turned neatly and fired inches past the post.
Half Time: Pompey 0 Shrewsbury 0
Jackett made a double switch at the start of the second half, as Green and Ben Thompson made way for David Wheeler and Ben Close.
The former won a free-kick after being fouled by Mat Sadler just after the restart, with Gareth Evans’ effort pushed clear by the diving Coleman.
It was much better from the Blues and a corner from Evans caused problems, while Wheeler was unable to beat Coleman at the keeper’s near post.
The visitors thought they should have been awarded a penalty just past the hour mark after Alex Gilliead had cut through the home defence.
He went down under Lee Brown’s challenge and cried foul, but referee Charles Breakspear was not interested.
And Brown then had an ambitious shot from 30 yards that fizzed narrowly wide, amidst anguished cries from the crowd.
They went even closer when Evans met Nathan Thompson’s cross with a firm header that Coleman just about managed to push clear.
Pompey’s final change came on 67 minutes, as the hard-working Hawkins was withdrawn for Pitman.
The hosts had looked much more of a threat since the restart, but it was the Shrews celebrating a goal on 74 minutes.
Burgess was unable to clear a cross from Whalley and Docherty – who had only come on a few seconds earlier – took advantage to lash the ball into the net.
The Blues tried to hit back and thought they should have been awarded a penalty when Pitman went down on 81 minutes.
Josh Emmanuel certainly had his hands on the striker, but Breakspear waved away the noisy appeals from players and fans alike.
The referee did point to the spot soon after, though, when Gilliead brought down Nathan Thompson in the box.
It was the linesman who flagged, although Breakspear took a while to make his mind up before awarding the penalty.
PITMAN stepped up to take it and although Coleman went the right way, the ball nestled in the bottom corner.
Five minutes of stoppage-time meant there were even hopes raised for a dramatic winner, but the Blues were unable to strike again.
Pompey (4-2-3-1): MacGillivray; N.Thompson, Burgess, Clarke, Brown; B.Thompson (Close 46), Naylor; Lowe, Evans (c), Green (Wheeler 46); Hawkins (Pitman 67)
Goals: Pitman 87 (pen)
Subs not used: McGee, Haunstrup, Rose, Mason
Shrewsbury (4-1-4-1): Coleman; Emmanuel, Waterfall, Sadler (c), Beckles; Grant; Whalley, Norburn, Laurent (Docherty 73), Gilliead; John-Lewis (Amadi-Holloway 67)
Goals: Docherty 74
Subs not used: Gregory, Sears, Haynes, Colkett, Okenabirhie
Referee: Charles Breakspear
Attendance: 17,634 (281 away fans)