Pompey could not turn their dominance into goals and had to settle for a point at Crewe.
The 0-0 draw ensured that the Blues – skippered by Tom Naylor – dropped one place to sixth in the League One standings.
Danny Cowley's men created most of the game's best chances, which included a John Marquis penalty that was saved by Will Jaaskelainen.