Portsmouth recorded their second win since Harry Redknapp returned as manager but they made hard work of overcoming a weakened Fulham side.
The Cottagers went into the match without five key players and then lost striker Heidar Helguson with a hip injury in the 29th minute.
The only goal of a scrappy match came two minutes before the interval through Gary O'Neil who appeared to control a pass from Dario Silva with his hand before shooting left-footed past goalkeeper Tony Warner.
Fulham appealed for handball but referee Mark Riley decided that the scorer had not deliberately handled the ball before sweeping in his fourth goal of the season.
Fulham had enough chances in the first half to have been ahead but striker Tomasz Radzinski had a nightmare in front of goal.
As early as the sixth minute the Canadian hooked a shot over the bar from six yards out after Helguson had headed down a corner form Ahmad Elrich into the danger area.
Pompey had a pre-match shock when first-choice goalkeeper Jamie Ashdown was injured in the pre-match warm-up and had to be replaced at the last minute by Sander Westerveld.
Westerveld had a comfortable afternoon and was rarely called on to make any saves.
Portsmouth might have taken the lead a minute after Radzinski's first bad mistake when O'Neil burst through from midfield, held off two challenges, and dragged a right-foot shot wide from a good position.
Brian McBride headed a corner from Sylvain Legwinski across the face of goal before Radzinski was again at fault. In the 35th minute the striker cut in from the left and, with the goal at his mercy, blazed his shot wastefully onto the terracing when it looked easier to score.
Westerveld justified his promotion from the bench by rushing out quickly to block Helguson before the Icelandic striker limped off in the 29th minute to be replaced by Collins John.
Silva sent a sharp shot dipping over the bar as Warner back-peddled as Portsmouth struggled to get on top. Liam Rosenior was booked for a foul on Silva after 41 minutes and then from nowhere came the Portsmouth goal to enliven what had been a dull first half.
There was no improvement in the second period and there were fewer incidents to excite a crowd of 19,101.
Warner saved at the feet of Lomana LuaLua while at the other end a smart piece of defensive covering in the 65th minute denied Radzinski the chance to make amends for his earlier misses.
Fulham manager Chris Coleman sent on Carlos Bocanegra in place of Elrich midway through the second half in a bid to force a breakthrough while O'Neil and LuaLua each went close to head Pompey further ahead.
Redknapp sent on Azar Karadas in the 86th minute and he'd only been on the pitch a matter of seconds when he was involved in an incident with Fulham goalkeeper Warner.
Karadas appeared to block the keeper as he attempted to clear but Warner then seemed to aim a punch in the incident that followed.
Karadas was shown a yellow card as tempers frayed.
Redknapp also sent on Aliou Cisse as the seconds ticked away in place of Laurent Robert. The Frenchman had a quiet match on the right side of midfield - his main contribution coming from free-kicks and corners.
It was only Pompey's second win at home this term and almost lifted them out of the relegation places.