Match ends, Sheffield United 1, Fulham 1.
Ten-man Sheffield United held out for a battling draw with Fulham in a pulsating FA Cup tie that saw the League One side threaten their second shock of this year's competition.
The Blades, who knocked out Aston Villa in the third round, deservedly led through Chris Porter's neat first-half finish, but saw the direction of the game change when their captain Michael Doyle was sent off soon after the interval.
Hugo Rodallega fired the Cottagers level but they could not force a winner despite a frantic finish that saw Philippe Senderos hit the bar.
This was a tie that had everything, from contentious decisions to horrendous weather - and a perilous pitch that was only just passed as playable following torrential rain that hit Sheffield overnight and continued for much of the first half.
The weather was the least of Fulham boss Rene Meulensteen's concerns, however. With a crucial relegation battle to come against Swansea on Tuesday, he had made it clear where his priorities lay, making 11 changes from the side that lost to Arsenal last time out.
That meant rookie youngsters including Josh Pressley, Chris David and Muamer Tankovic replaced the likes of Dimitar Berbatov, Scott Parker and Clint Dempsey, who were all absent from the Cottagers squad.
Fulham's unfamiliar faces made a bright enough start, playing a passing game despite the difficult conditions and putting pressure on the Blades back-line.
But clear-cut chances did not follow for the visitors and it was the Blades who went closest to breaking the deadlock early on, when Jose Baxter flashed a free-kick wide.
Nigel Clough's side are in the League One relegation zone but they grew in confidence as the game went on and their tactic of attacking with pace down both flanks paid off after half an hour when Harry Maguire sped down the right and his low cross was swept home by Chris Porter at the near post.
The goal was greeted by bright sunshine and also a Fulham response that saw their best attack of the first half.
Rodallega wanted a penalty after prodding the ball past George Long and going to ground via a leap over the Blades keeper. Replays showed Long had clipped the Colombia international but referee Andre Marriner waved play on and United survived.
The Cottagers came out with more attacking intent after the break, but the game only turned in their favour when Doyle was sent off for kicking out at David in an off-the-ball incident.
Even then, United's 10 men threatened to extend their lead, with Ryan Flynn raiding down the right on a swift break and seeing his low shot blocked by David Stockdale's legs.
The home side were also denied what appeared a clear penalty when Flynn was brought down by Aaron Hughes.
But Fulham were beginning to make their extra man count and the introduction of Darren Bent and Adel Taarabt from the bench gave them more class going forward too.
As the game entered the final quarter of an hour, their equaliser arrived, Rodallega making space for a shot on the edge of the area and beating Long with a fizzing drive into the bottom corner.
By now United were hanging on but Fulham could not find a way of finishing them off.
Senderos headed against the bar, then failed to fire home the rebound as the ball bobbled around the area, and Darren Bent was guilty of an appalling close-range miss before the offside flag spared his blushes.
Taarabt saw a fierce strike deflected over as Fulham continued to press but the Blades held out and their reward will be a money-spinning replay at Craven Cottage on 4 February.
Check out the action from today's FA Cup ties on the BBC Sport Facebook page
- 5MaguireSubstituted forHarrisat 48'minutes
- 8DoyleBooked at 52mins
- 9PorterSubstituted forScougallat 45'minutes
- 11BaxterSubstituted forMcGinnat 85'minutes
- 36De Girolamo
- 46PassleyBooked at 76mins
- 3RiiseSubstituted forPlumainat 10'minutesSubstituted forTaarabtat 67'minutes
- 30DavidSubstituted forBentat 57'minutes
- 8KasamiBooked at 81mins
- Andre Marriner
- Shots on Target
Second Half ends, Sheffield United 1, Fulham 1.
Corner, Fulham. Conceded by Conor Coady.
Attempt blocked. Adel Taarabt (Fulham) right footed shot from outside the box is blocked.
Attempt saved. Adel Taarabt (Fulham) right footed shot from outside the box is saved in the centre of the goal. Assisted by Muamer Tankovic.
Attempt blocked. Hugo Rodallega (Fulham) left footed shot from the centre of the box is blocked. Assisted by Adel Taarabt.
Attempt missed. Muamer Tankovic (Fulham) right footed shot from outside the box is high and wide to the right. Assisted by Hugo Rodallega.
Offside, Fulham. Pajtim Kasami tries a through ball, but Darren Bent is caught offside.
Attempt missed. Darren Bent (Fulham) left footed shot from the left side of the six yard box is close, but misses to the left.
Attempt blocked. Pajtim Kasami (Fulham) header from the right side of the six yard box is blocked. Assisted by Philippe Senderos.
Attempt missed. Philippe Senderos (Fulham) right footed shot from the centre of the box misses to the right. Assisted by Darren Bent.
Substitution, Sheffield United. Stephen McGinn replaces Jose Baxter.
Attempt blocked. Aaron Hughes (Fulham) left footed shot from outside the box is blocked.
Attempt missed. Philippe Senderos (Fulham) left footed shot from the centre of the box misses to the right following a corner.
Philippe Senderos (Fulham) hits the bar with a with an attempt from the centre of the box. Assisted by Pajtim Kasami with a cross following a corner.
Corner, Fulham. Conceded by George Long.
Pajtim Kasami (Fulham) is shown the yellow card for a bad foul.
Foul by Pajtim Kasami (Fulham).
Conor Coady (Sheffield United) wins a free kick in the defensive half.
Attempt saved. Pajtim Kasami (Fulham) left footed shot from outside the box is saved in the centre of the goal. Assisted by Giorgos Karagounis.