Portsmouth recorded their second home win in succession to leave Crystal Palace with a solitary point from their first five matches in the Premiership.
The Eagles contributed to an exciting game full of incident, but paid a heavy price for missing a penalty and conceding a sloppy late own goal.
Portsmouth went ahead in the third minute when Ricardo Fuller was left unmarked to turn in a pass from Eyal Berkovic, after referee Phil Dowd sensibly played advantage after Nigel Quashie had been felled.
Fuller could hardly believe what had happened to him over the last couple of days, as he was one of the last to escape from Jamaica in midweek as Hurricane Ivan closed in.
Palace had to survive a torrid first 20 minutes when it looked as if Pompey would score again, but they got almost back into the game in the 26th minute when a Danny Granville free-kick hit the outside of a post with goalkeeper Shaka Hislop rooted to his line.
The visitors were fought strongly for an equaliser and it came as no surprise when it arrived two minutes before the break. Wayne Routledge took a corner from the right, Palace's sixth of the first half, and Granville rose unmarked to head into the roof of the net.
After a first-half full of incident another sell-out crowd licked its lips in anticipation of the second and they did not have to wait long for another goal.
After 47 minutes Patrik Berger burst through from midfield and, from fully 25 yards, his powerful shot eluded the grasp of goalkeeper Julian Speroni, who got both hands to the ball but could not keep it out.
Andy Johnson had a goal ruled out a minute later for offside and after 55 minutes Palace were gifted a great opportunity to equalise.
Linvoy Primus clumsily brought down Sandor Torghelle to concede a penalty, but Hislop blocked the spot-kick.
Palace looked dangerous and Hislop needed to be well positioned again in the 66th minute to turn over another dangerous free-kick from Granville.
The match was finely balanced until the 84th minute when Palace conceded an own goal which killed off their resistance.
Steve Stone centred from the right and, without a Portsmouth player anywhere near him, Tony Popovic flicked carelessly at the ball and turned it just inside the far post.
It was Popovic's second own goal of the season and did little credit to Palace, who fought hard with little success.
Man of the Match: Patrik Berger The Czech Republic midfielder notched another stunning goal to put Pompey on the road to victory.