Brad Friedel's long kick was headed on by Gabriel Agbonlahor into the path of the England striker.
Heskey, who only signed from Wigan for £3.5million last week, fired home from 15 yards past the despairing dive of David James.
It was Portsmouth who had started the game more brightly with Jermaine Pennant a constant worry for the Villa defence down the right-hand side.
After Villa got the opener in the 21st minute, Pompey clawed their way back into the game and it was new signing Hayden Mullins who went closest.
The £1million signing met Pennant's cross but could not keep his shot down as it flew over the bar from 15 yards.
James Milner hit back for Villa four minutes later when his shot from 18 yards was blocked by Glen Johnson and the ball went out for a corner.
The Villa midfielder then tested James barely a minute later when his cross was tipped over the bar as it swirled and dipped and almost headed into the net.
Portsmouth came out revitalised after the break and went close with Pennant twice forcing Friedel into saves within four minutes of the restart.
But it was defender Nadir Belhadj who let the side down in the 70th minute.
The left-back had already been booked in the first half and after arguing with referee Philip Walton over a throw-in, he kicked the ball way and was shown a red card.
Pompey bravely tried to get back in the game with ten men but the Villa defence stood strong and they went on to record an impressive victory.
This is the first time in Villa's illustrious history that they have won six successive games away from home in a single season.