Delfouneso struck eight minutes from time as Villa came from behind to keep alive their faint hopes of grabbing a Champions League place and moved further clear of Europa League rivals Everton.
FA Cup finalists Portsmouth, without 12 senior players, could have taken the lead after only four minutes.
Kevin-Prince Boateng was given too much freedom to bring down John Utaka's cross and Brad Friedel did superbly to spread himself and keep out the close-range shot with his chest.
Already relegated Pompey did find themselves in front four minutes later.
Anthony Vanden Borre got the better of Stephen Warnock down the right and his cross found its way to Michael Brown, who fired into the left corner from 15 yards out for his first goal in nearly six years.
John Carew drew Villa level just six minutes later when he was allowed to run on to Warnock's long through ball and brush aside Marc Wilson, before firing into the roof of the net from six yards.
Villa came agonisingly close to taking the lead soon after as Wilson headed against his own post in trying to clear Ashley Young's teasing centre.
Friedel then made another terrific save to fingertip behind Boateng's free-kick curler 14 minutes before half-time.
Carew passed up the chance to score a second four minutes before half-time when his penalty was saved by David James, after the Norwegian had been bundled over by Papa Bouba Diop.
James thwarted his old club once more in the 55th minute, flying to his right to keep out Gabriel Agbonlahor's header from another Young cross.
Villa could have had a penalty when Stiliyan Petrov looked to be tripped by James after rounding the England goalkeeper, but referee Lee Probert waived away their appeals.
Just as it looked like Martin O'Neill's side were losing more ground on their European rivals, Delfouneso popped up to poke home Emile Heskey's flick-on from James Milner's cross.