After a frantic first 25 minutes new-look Pompey, with five new signings on show, gradually wore down Villa and deserved the opening goal four minutes before the break. Patrik Berger set up a shooting chance for Yakubu Ayegbeni whose shot was blocked by Thomas Sorensen, but the rebound fell kindly for Teddy Sheringham to score from close range.
Villa were left in the first half to regret a glaring miss by Alpay, who contrived to head a free-kick from Gareth Barry wide from six yards. In addition Marcus Allback had a goal disallowed for pushing.
If the first half had been evenly fought the second belonged to Portsmouth who dominated for long spells and deserved their second goal in the 63rd minute when Steve Stone and Yakubu combined for Berger to prod in a second from 12 yards.
Villa should have pulled a goal back in the 75th minute but when Juan Pablo Angel failed to control when clear and only six yards from goal, but Villa were no to be denied.
After 83 minutes and with the game seemingly beyond them, Villa got a penalty when Barry appeared to be brought down by Boris Zivkovic after he had cut past the Croatian full-back.
Barry crashed home the penalty to set up a fascinating last ten minutes but Pompey held on to collect their first three Premiership points.
Barry, who along with new signing Gavin McCann had been solid in midfield, was sent off with two minutes left for swearing at the assistant referee after a throw-in near the corner flag had been awarded in Portsmouth's favour.