Pompey’s David Norris had the only shot on target in a timid first half, forcing City goalkeeper David James into a comfortable save.
The game opened up after the interval, with a James fumble from Chris Maguire’s cross a whisker away from giving Portsmouth the lead.
City’s best chance arrived when Kalifa Cisse’s deflected shot was somehow kept out by Jamie Ashdown after diving the wrong way.
Both teams made one change from their defeats last week, Portsmouth bringing in Maguire for Marko Futacs while Martyn Woolford dropped to the bench to be replaced by Albert Adomah for City.
The opening stages were starved of goalscoring chances, underlining why the two sides are struggling at the wrong end of the table.
Stephen Pearson found himself in a good position for City but was closed down before he could get his shot away.
Norris was proving the main threat for Portsmouth but could only fire straight at James.
City then came within inches of taking the lead as Cisse stretched out a leg but could not connect with Adomah’s dangerous low cross.
The visitors looked the more likely to break the deadlock as half-time approached, with Jamie McAllister’s corners causing problems for Pompey.
However, Ashdown remained untroubled in the Portsmouth goal as City failed to register a shot on target in the first half.
Portsmouth, urged on by a vociferous Fratton Park crowd, started well after the break, with George Thorne’s powerful shot from the edge of the box whistling wide.
A lead was almost gifted to the home side when Maguire fired across the face of goal and James came to collect only to fumble the ball just past the post.
Maguire was justifying his selection and had James worried again with a shot that found the side-netting from a tight angle.
The game had turned into an end-to-end contest and the Robins felt they could have had a penalty when Jon Stead went down after colliding with Ricardo Rocha.
They almost made the breakthrough moments later when Cisse’s shot took a big deflection off Jason Pearce only for the ball to bounce off the trailing leg of a wrong-footed Ashdown.
Portsmouth’s Maguire then beat his man again on the right flank before finding Norris, who could only scuff the opportunity harmlessly into James’ arms.
The game reached a frantic conclusion with Ashdown coming forward for a late Portsmouth corner, but to no avail as Bristol City went home happier with the stalemate.