Two goals from Pompey captain Gary O'Neil saw Portsmouth continue their battle for an improbable great escape from relegation.
Harry Redknapp's team have now picked up maximum points from their last three games and he can be hopeful of avoiding the fate that befell his Southampton side last year.
For Fulham it was a case of after the Lord Mayor's show and Chris Coleman will now be anxiously monitoring Portsmouth's run. A defence that withstood the best efforts of Drogba, Crespo and Lampard for 90 minutes in their last home game, fell behind after just 36 seconds.
Lomana Tresor LuaLua's clever backheel set Benjani Mwaruwari racing away down the left. His cross deceived Ian Pearce and Gary O'Neil was on hand at the back post to slam the ball past Mark Crossley.
The visiting fans had little time to celebrate the lead before Fulham levelled on ten minutes through a Steed Malbranque thunderbolt. The talismanic Frenchman picked up the ball from a throw-in and was allowed to drift infield before firing into the top right-hand corner from 20 yards.
The game continued to flow back and forth and in the 18th minute Pompey could have gone ahead again but from four yards out Sean Davis skied Andres D'Alessandro's cross.
Four minutes later and the visitors did strike and again it came from a Fulham defensive mistake. This time Zat Knight failed to clear a routine ball and was then outmuscled by LuaLua. The DR Congo striker still had a lot to do with Crossley bearing down on him, but his low shot was slotted into the bottom left-hand corner.
Pompey's lead remained fragile. In the 30th minute Wayne Bridge's cross was met by Brian McBride's thumping header which rattled the crossbar.
Redknapp would have been relieved to hear the whistle for half-time with the advantage still intact, but he was even happier to see the linesman's flag up after Collins John put the ball into the net on 50 minutes.
Fulham's pressure was unrelenting. Luis Boa Morte's free-kick was tipped over by Dean Kiely and the ex-Charlton keeper was also called into action on 56 minutes when he did well to hold John's shot from just inside the box.
Hence it was against the run of play that O'Neil got his side's third. The Pompey captain picked up the ball just outside the box before unleashing a left-foot shot which took a cruel deflection off Philippe Christanval and looped over the helpless Crossley.
The home side's day continued to get worse when Michael Brown was shown a straight red card for a two-footed lunge on Davis.
Another former Spurs player Pedro Mendes could have made it four when he headed over from six yards out.
Right at the death McBride and Heidar Helguson managed to miss in front of an empty net which summed up the home side's day.