In what was an impressive Town display, Steve Cotterill's side opened the scoring early in the second half with an outstanding header from Rob Street.
Shrewsbury defended brilliantly throughout - and restricted the visitors to very little in front of goal.
But they did pull level in the 82nd minute when - following a goalmouth scramble - Marlon Pack poked home.
In the closing stages Town were reduced to 10 men when Tom Flanagan was dismissed for a second yellow card.
Manager Steve Cotterill had to deal with a raft of injury problems ahead of the visit of John Mousinho's side with Matt Pennington joining Dan Udoh, George Nurse, Tom Bayliss, Rekeil Pyke and Christian Saydee in the treatment room.
Ryan Bowman was also suspended for the game.
It meant the boss opted for a 4-3-3 formation at Montgomery Waters Meadow with Rob Street leading the line and Tom Bloxham on the right flank and Elliott Bennett on the left.
Carl Winchester and skipper Luke Leahy accompanied Killian Phillips in the middle of the park.
With so many injuries, Town's bench was made up of youngsters Kade Craig, Josh Barlow, Nana Owusu, Declan Hutchings and Travis Hernes along with goalkeeper Harry Burgoyne.
Portsmouth went with a 4-2-3-1 formation, with Colby Bishop in the centre-forward position.
In what was a very even opening 30 minutes, the two sides cancelled each other out with neither side creating a clear-cut chance.
On the half-hour mark, referee Tom Nield had to be replaced by fourth official Billy Smallwood due to injury.
It was Town who created the game's first real chance just before the 40-minute mark when Taylor Moore produced a wonderful volley from 25 yards that looked destined for the top corner.
Goalkeeper Matt Macey, though, proved equal to the effort and managed to palm the ball behind.
From the resultant corner, Chey Dunkley rose highest but his header was also dealt with by the keeper.
Portsmouth created their first real chance just before the break when Pigott managed to get a shot off just inside the box which Marko Marosi parried away.
The ball landed at the feet of Reeco Hackett but Moore quickly saw the danger and made a brilliant block to keep the ball out.
Shrewsbury went on to open the scoring shortly after the interval - with Bennett first doing well to win the ball high before whipping in an excellent cross.
And that was met by Street who produced a brilliant glancing header that clipped the inside of the post before nestling into the net.
Town had a chance to double their lead on the hour mark when Leahy played Phillips through on goal.
But Matt Macey saw the danger and raced off his line to block smartly with his leg.
After Town's domination throughout, Portsmouth managed to pull the game level in the 82nd minute.
The away side took a corner and sent a ball into the middle of the box, and - following a large scramble - Pack managed to poke it over the line.
Town went down to 10 men near the end after Tom Flanagan was shown a red card after picking up two yellows.
Steve then made a change with six minutes additional time added on - with youngster Josh Barlow entering the fray for his league debut.