Stoke City opened brightly and in the third minute an interception by Karl Henry eventually fell to Lewis Neal who provided a looping cross that Andy Cooke did well to get to, but the ball went just over the crossbar.
The Potters continued their strong spell and in the 13th minute Carl Robinson's poor pass was picked up by Chris Greenacre who charged towards goal, holding off his marker but firing wide.
Stoke should have scored in the 15th minute when a break down the left by Marcus Hall gave him the space to cross.
It was flicked on by Neal and then headed towards goal by Cooke but Shaka Hislop produced a one-handed reaction save to rescue Portsmouth.
A well-worked free-kick finally caught Portsmouth out in the 33rd minute when Wayne Thomas crossed from the right to the back post where Sergei Shtaniuk nodded it back for Brynjar Gunnarsson to head into the back of Hislop's net.
Stoke seemed to find things easy through the first half but Pompey struggled as they went through the entire 45 minutes without creating a clear-cut chance.
Portsmouth came out looking for an equaliser and in the 61st minute they nearly found it. Paul Merson found space on the right and his cross was met perfectly by substitute Jason Crowe but the ball flew over Steve Banks' crossbar.
An equaliser did finally arrive when Kevin Harper played the ball from the left to Linvoy Primus who managed to find Crowe who fired his shot into Banks' bottom left-hand corner.
Pompey stretched Stoke to the limit in the second half but the defence held out to earn both sides a point.