Lassana Diarra and Glen Johnson both ballooned their efforts over the bar with substitute Arnold Mvuemba seeing his effort blocked by Edwin van der Sar's legs, while Carlos Tevez, Ryan Giggs and Michael Carrick all netted for Sir Alex Ferguson's team.
David James kept Portsmouth in the game with two smart saves from man-of-the-match Carlos Tevez and Darren Fletcher who missed a sitter in the first half.
United captain Gary Neville started in a competitive game for the first time since March 2007 and afterwards admitted his delight at a long-awaited comeback.
"It was fantastic just to get a game under my belt," he said. "After being out so long I'm just happy to be out there again.
"I didn't feel anything (bad) today. I've had a decent pre-season and just need more games for my sharpness."
Ferguson was surprised the game went to penalties having believed his team should have won within the 90 minutes.
"I was very pleased with the performance today, it was excellent," Ferguson said.
"How we got to penalty kicks... that's one of the mysteries of football.
"We had a lot of chances, we were the better team, but it's only pre-season."
Pompey goalkeeper James still feels his side can look forward to the new season with confidence.
"Taking the 90 minutes into consideration, it was a good workout for us," he said.
"It would have been nice to win but we look forward to next Sunday (Chelsea at Stamford Bridge) with a lot of confidence.
"For 90 minutes it was 0-0 which against Manchester United has to be considered a very good result."