Town were three goals ahead after just half an hour,and in the end they could have won by a wider margin.
Marcus Bent and Pablo Counago were both off-target with early efforts before Ipswich went in front on 11 minutes.
Martijn Reuser picked up a loose ball in the centre circle and raced to the edge of the area before cracking an angled shot beyond Shaka Hislop.
Gianluca Festa forced Andy Marshall into a diving save soon after before Hislop did very well to dive and push away a Tommy Miller drive.
Festa, booked for dissent in the first minute, was lucky to stay on midway through the half after three times throwing an arm at Reuser, before amazingly Portsmouth were given the foul.
Ipswich doubled their lead on 27 minutes when Matt Richards' low cross was knocked back by Bent for Miller to drive home.
On 30 minutes it was 3-0 as Counago turned past Arjan De Zeeuw before rocketing a shot into the roof of the net.
Reuser saw a volley from Bent's cross blocked on the line by Hislop, who also denied Thomas Gaardsoe after Matt Holland flicked on a Reuser corner.
The second half was a quieter affair, with Ipswich content to hold their lead, and Portsmouth unable to get back into the game.
Ipswich should have had a penalty on 63 minutes when Steve Stone handled Bent's cross under pressuer from Reuser, who then blazed the loose ball over.
Portsmouth's only chance late on was wasted by Vincent Pericard, who headed Nigel Quashie's cross straight at Marshall.
The Portsmouth fans didn't seem to care though and kept singing until well after the final whistle, but the Ipswich fans will take greater heart from this result which puts the pressure on the sides immediately above them.