Centre-half Brede Hangeland was the unlikely source with a match-winning brace as the Cottagers moved up to eighth on the table with just their third away win of the season.
Hangeland headed home in the fifth minute before adding a second four minutes into the second half to lead his side to all three points at Birmingham for the first time since January 2005.
The loss leaves the Blues sitting equal on 39 points with 18th-placed Blackpool ahead of their trip to Tottenham next Sunday as Fulham get ready to do battle with London rivals Arsenal at Craven Cottage.
Venue: St Andrew’s, Birmingham
Referee: Peter Walton
Yellow cards: BC - nil
FU - Andy Johnson 60’, Carlos Salcido 63’, Danny Murphy 66’, Eidur Gudjohnsen 78’, Clint Dempsey 88’
GOAL The visitors got the start they were hoping for when Norwegian centre-half Brede Hangeland headed a Jonathan Greening cross home in just the fifth minute to inflict more misery on Birmingham who are on the brink of the relegation zone.
The Cottagers kept pressing after their opener and were creating a cracking pace which the Blues struggled to deal with although they did manage to hold onto possession at times to slow the pace of the game down in the midway stages of the half.
Right on the half-hour mark, Bobby Zamora hit the post with an unmarked header after he was left free in the box just a moment before Greening tested Ben Foster with an attempt from range.
Birmingham’s Martin Jiranek was close to diverting a cross into goal with his chest in the 34th minute but unfortunately for the home side it did not hit the target as Fulham managed to close out the half with a narrow lead.
GOAL Four minutes into the second half, Fulham and Hangeland had a second when the big centre-half hooked home from the middle of the area with his left foot after Birmingham failed to clear a corner. The home side were in real trouble after that goal.
The Cottagers continued to come at a hapless Birmingham defence with substitute Eidur Gudjohnsen having an immediate attempt which was saved by Foster before the Blues keeper was forced into another save, this time from a Clint Dempsey shot from the edge of the area after a nice turn.
Birmingham looked bereft of attacking options and could not create much in the way of scoring chances as the minutes ticked over. Their job was made even tougher when substitute Alexander Hleb had to come off with injury but could not be replaced as Alex McLeish had already made all three permitted changes.
Fulham held possession in the dying stages as they sat on their two-goal lead and it ended up being enough to secure all three points, sending Birmingham to the brink of relegation with one game remaining.
Ben Foster (gk) – Stuart Parnaby (Beausejour 56’), Roger Johnson, Martin Jiranek (Davies 67’), Stephen Carr – Sebastian Larsson, Lee Bowyer (Hleb 50’), Barry Ferguson, David Bentley – Matt Derbyshire, Kevin Phillips
Mark Schwarzer (gk) – Aaron Hughes, Brede Hangeland, Philippe Senderos, Carlos Salcido – Jonathan Greening, Danny Murphy (Etuhu 72’), Steve Sidwell, Clint Dempsey (Gera 89’) – Bobby Zamora (Gudjohnsen 50’), Andy Johnson