Both sides squandered a number of opportunities to break the deadlock, but the Cottagers edged proceedings and will be particularly disappointed to have missed out on the three points here, with time to spare getting ever more sparse in their bid for survival.
The result sees both teams remain in their positions prior to kick-off, 18th and 5th in the Premier League standings respectively.
Story of the game
Coming into the match, Scott Parker made three changes to the side that was beaten comfortably by Leicester City on Wednesday. An apparent change of system saw Bobby Decordova-Reid replace Ola Aina, Mario Lemina came in for Andre-Frank Zambo Anguissa, and Ivan Cavaleiro took the spot of Aleksandar Mitrovic up front as Fulham appeared to line up in a four-at-the back shape distinct from their usual deployment of five defenders.
Meanwhile, David Moyes made just the one adjustment as Jarrod Bowen returned to the starting line-up in the place of Ryan Fredericks in an apparently attacking switch from the visiting manager.
There was a good energy to the match right from the off, and the hosts conjured a handful of good opportunities to break the deadlock early on. Two close-range efforts from Ruben Loftus-Cheek and Harrison Reed were blocked bravely by the West Ham defence, before Ademola Lookman's low drive after good work from Loftus-Cheek down the right met a similar fate.
It was certainly Fulham who started the game the stronger of the two. Lookman left Vladimir Coufal for dead on the nine-minute mark, darted into the box and nearly saw his left-footed cross inadvertently deflected home by Craig Dawson, but West Ham's Lukasz Fabianski reacted well.
But the Hammers grew into proceedings and, in glimpses, showed why they are challenging in and around the top quarter of the table. Intricate build-up play worked the space for Aaron Cresswell to be able to whip a ball in from the left, and it just evaded the head of Michail Antonio by a matter of inches, while Tomas Soucek was also unable to touch home at the back post.
A defence-splitting pass from Cresswell then freed Said Benrahma down the left flank, and he cut the ball back for Declan Rice lurking in the centre, but it was a tame effort and barely any trouble for Alphonse Areola. Soucek then headed over from an acute angle following a corner. Both teams had their chances; neither had been able to break the deadlock within 30 minutes.
No goals, but a couple of passages of play summed up the tempo of this match on the 35-minute mark. First, Antonio beat Joachim Andersen in a contest of shoulder strength before stopping the ball on the byline and attempting to cut it back for Rice in the centre, but Reed nipped in for a crucial intervention. Fulham went straight up the other end and fashioned the chance for Lookman to take aim from 25 yards; just wide of the far post with Fabianski at full-stretch.
Fulham were creating some good overloads in wide positions, but failing to take advantage of the chances that came as a result. Lookman nonchalantly back-heeled the ball for Antonee Robinson to run onto, and the USA international crossed first time right to the head of Cavaleiro, but the header was tame.
All-in-all, it had been a pretty even first-half, with Fulham perhaps edging the overall play but West Ham fashioning a host of good opportunities to take the lead themselves. It always felt as if there were goals in this one, but they would have to come after the break.
Parker hyped his team up in a mini-huddle just before the restart; with the number remaining games getting thinner by the week, every half matters in Fulham's bid for survival, and the second period here was destined to be one of their most crucial of their season so far.
And the hosts began the second-half in much the same vein as they started the first. Following a set-piece situation, Andersen clipped the ball over the West Ham defence to Decordova-Reid, who attempted to catch Fabianski off guard by taking the shot on first time, but it fizzed just high of the crossbar.
Minutes later, Reed took the West Ham midfield out of the game with a clever ball to the feet of Lookman, who turned and fed Loftus-Cheek through on goal, but the attempted dink from the Chelsea loanee failed to hit the target. That was a gilt-edged chance and a real let-off for the visitors.
Moyes may have felt the game slipping away from his side so, having emerged unscathed from a Fulham onslaught in the first 10 minutes of the half, he shuffled his pack. Mark Noble and Andriy Yarmolenko came on for Benrahma and Bowen as the visitors looked to pack out the midfield, an area where their hosts had been having a good deal of joy.
It seemed to work; West Ham were better equipped to deal with Loftus-Cheek's powerful surges through the middle and were enjoying more of the ball themselves. Declan Rice picked the ball up in a position on the wide left and sought out Coufal making a run towards the back post. The full-back's header clattered the crossbar with Areola beaten.
But this remained a very even contest, poised on a knife-edge and yet with neither looking that much better than the other to take the lead. When Lookman's corner landed straight on the head of Tosin Adarabioyo, though, that's exactly what Fulham should have done — it was agonisingly wide of the mark.
With about 10 minutes of regulation time remaining, another golden opportunity came Fulham's way. Decordova-Reid skipped past Cresswell and drove a cross into Cavaleiro in the centre, but the forward skewed his effort way over the bar. Parker then promptly brought two strikers — Mitrovic and new signing Josh Maja — onto the pitch; someone needed to put these chances away for them.
Yet Mitrovic played the role of provider as the game crept into its 90th minute. He chested Cavaleiro's cross into the path of Loftus-Cheek rushing towards the ball, but the 25-year old's sliced half volley went just wide of the far post.
The game paused for at least two minutes deep in stoppage time as VAR checked for a red card and, sure enough, the powers that be at Stockley Park — along with referee Mike Dean — decided to send Soucek for an early bath following an alleged elbow on Mitrovic during a set-piece.
And with that, both sides would have to settle for the draw, though that will come as more of a disappointment to Fulham than their visitors.
Takeaways from the match
Clinical edge missing for Fulham
The hosts conjured 20 opportunities to shoot, but managed to direct just two of those efforts on target. Fabianski should have been in store for a miserable afternoon in west London, but instead had very little to do as Fulham squandered all of their good build-up play on numerous occasions.
Mitrovic and Maja didn't really have long enough to impact the game as much as they would've liked, but it's clear that the Cottagers need to deploy an out-and-out, proven finisher in that spot leading the line — there is nothing wrong with their chance creation, but they simply have to start capitalising on those moments.
West Ham off the pace a little
Considering Fulham had lost their past three home matches prior to this, Moyes will have been targeting victory here, but found his side second best for match of the contest.
It shouldn't be anything to worry about, and they remain 5th in the table with a very credible shout for European football next season, but there were aspects of this performance with which the visitors will not be happy, particularly the volume of chances they allowed their hosts to create.
Fulham: Areola; Tete, Andersen, Adarabioyo, Robinson (Maja 79'); Reed, Lemina (Mitrovic 79'); Decordova-Reid (Anguissa 83'), Loftus-Cheek, Lookman; Cavaleiro.
Subs not used: Rodak, Aina, Hector, Ream, Bryan, Onomah.
West Ham United: Fabianski; Coufal, Dawson, Ogbonna, Cresswell; Soucek, Rice; Bowen (Noble 56'), Lingard, Benrahma (Yarmolenko 56'); Antonio (Fredericks 73').
Subs not used: Martin, Johnson, Diop, Balbuena, Fornals, Lanzini.
Following this draw here, Fulham travel up to Merseyside to face Everton next Sunday.
Meanwhile, West Ham are in FA Cup action on Tuesday evening, visiting Manchester United with the aim of securing a place in the quarter-finals of the competition.