Chances remained few and far between in the early stages of the match, with Luke Rodgers registering the first effort for Portsmouth after 14 minutes.
Crawley looked the more likely as the half advanced, and Hope Akpan fired a left-footed strike wide of the target after 25 minutes.
The home side were reduced to 10 men five minutes before the break, however, when Josh Simpson was dismissed for a second bookable offence.
Portsmouth improved in the second period and might have taken the lead with a host of strikes from Izale McLeod – but the former Barnet man could not find a finish.
Crawley were reduced to nine men after 71 minutes when Akpan was dismissed for a second yellow – and it was Portsmouth who grabbed the decisive opening goal after 74 minutes when Ashley Harris converted a header from close range.
Meanwhile, Rodgers added gloss to the scoreline late on when he bent a free kick into the top corner with 10 minutes remaining, before McLeod added a third late on.