Nigel Quashie scored twice as the first division leaders clocked up their sixth successive home league win of the season.
But it was not a vintage Portsmouth display and injury-hit Bradford had plenty of chances of their own.
Andy Gray should have put Bradford ahead in the 10th minute but shot narrowly wide from ten yards before Portsmouth took the lead with their first real attack in the 17th minute.
Kevin Harper and Svetoslav Todorov combined for Quashie to score with a fierce left-foot shot from 30 yards which went in off a post.
Four minutes later and Bradford were further behind when a long pass from an otherwise subdued Paul Merson allowed Vincent Pericard to score with a left-foot shot.
Michael Proctor should have pulled a goal back but volleyed wide from a good position as Bradford failed to make the best of their position.
Bradford's best chance come in the 49th minute when Gus Uhlenbeek crossed from the right and Danny Cadamarteri volleyed goalwards from ten yards.
But luckily for Portmouth his drive struck the unwitting Gianluca Festa and deflected over the bar.
Portsmouth showed their finishing quality in the 58th minute when Merson split the Bradford defence with another fine pass and Quashie raced through to score with a left-foot drive.
Both sides missed clear openings afterwards but Bradford had no answer.
Bradford manager Nicky Law said: "I felt 3-0 flattered Portsmouth but two goals in four minutes killed the game.
"We must learn to be much more nasty. We have a good set of lads here, but they are too nice."
Pompey boss Harry Redknapp said: "We did not start to well but picked up as the game went on and some of our finishing was excellent."