Danny Murphy struck the decisive goal in the 57th minute, driving home Andrew Johnson's superb pull-back for the club captain's third goal of the season.
Johnson had a late penalty appeal rejected after tumbling beneath defender Behrang Safari's tackle and the former England striker was lively throughout.
Panic reigned in Fulham's defence early on when Berang Safari easily rounded Stephen Kelly and set up Alexander Frei but the Switzerland international's scuffed shot drifted wide.
Moments later Johnson pounced on a mistake by Serkan Sahin, drifted inside with a turn of pace and fired just inches wide of the right post.
Fulham were having problems containing their slick passing game and they should have fallen behind when Streller expertly found Benjamin Huggel only for the veteran midfielder to blaze over from close range.
Murphy sent a free-kick over the cross bar as Fulham began to do a better job of retaining possession.
The opening 10 minutes of the second half saw lots of passing from both sides with little end effect until Clint Dempsey blasted narrowly wide.
But the deadlock was broken in the 57th minute when Kelly released Johnson who sped to the byline before cutting back to the edge of the area where an unmarked Murphy powered home.
Marco Streller missed a glorious chance to equalise from seven yards out with eight minutes to go, allowing Fulham to cling onto all three points.