Manager Tony Adams was given a glimpse of life without striker Jermain Defoe as the holders failed to break down stubborn City.
Defoe was left out of Adams' 18-man squad after ringing in sick for training on Friday, ahead of a potential move back to old club Tottenham.
Portsmouth included four members of the team that beat Cardiff 1-0 in the final at Wembley in May, but did not play anywhere near their best.
It could have been different had Sylvain Distin opened the scoring after only 16 minutes when he was denied by two goalline clearances from City captain Louis Carey.
Northern Ireland international Ivan Sproule should have done better on the half-hour mark when he latched onto Marvin Elliott's quick free-kick but sliced his shot wide from ten yards.
Portsmouth raised their game in the second half but rarely looked like being able to win the match and avoid a difficult trip to Ashton Gate in a fortnight's time.
Croatia international Niko Kranjcar wasted the home side's best opening when he put a free header wide from Peter Crouch's 51st minute cross.
City were forced into more last-ditch defending six minutes later when Cole Skuse bravely threw himself in the way of David Nugent's powerful half-volley after a Kranjcar corner had been only half-cleared.
City could even have snatched victory 20 minutes from time when defender Bradley Orr's header forced a flying save from England goalkeeper David James, who put the ball behind for a corner.
The draw does little to ease the pressure on Portsmouth manager Adams, who has now presided over a six-match domestic winless run.