Fulham twice had to come from behind to force an FA Cup third-round replay with League One strugglers Bristol Rovers.
Craig Hinton is mobbed after restoring his side's lead
Danny Coles' deflected right-foot drive gave the visitors a shock third-minute lead, but David Healy headed Fulham level five minutes before half-time.
Against the run of play, Rovers regained the lead after the interval thanks to Craig Hinton's header.
But Danny Murphy spared the Premiership side's blushes with a rasping effort to force a replay on Tuesday week.
Both sides searched for a winner in a pulsating finish to the tie, but Rovers will be happiest with the result after defending for large parts of the game.
The 7,000 travelling fans greeted the final whistle with a huge roar as Fulham's supporters, who have not seen their team win in 10 games, booed their players from the pitch.
The visitors, who are struggling near the foot of League One, stunned their Premiership hosts inside three minutes as Coles' deflected shot flew past Antti Niemi.
Fulham looked nervy and struggled to break down a resilient Rovers side, who seemed buoyed by their early breakthrough.
Clint Dempsey did put the ball in the back of the net with a header on 10 minutes, but it was ruled out for a foul on Rovers defender Steve Elliott by Dejan Stefanovic.
Fulham's American striker then headed straight at Steve Phillips and saw his shot deflected into the keeper's arms as the home side searched for an equaliser.
Hameur Bouazza, returning from a one-match ban, lasted just 25 minutes before he was replaced by Chris Baird after sustaining an arm injury.
Healy saw his appeals for a penalty turned down after tumbling on the edge of the area and then both Healy and Paul Konchesky shot wide before, five minutes before half-time, the Northern Ireland international levelled the scores.
A poor clearance by Aaron Lescott was helped back in by Moritz Volz and Healy, unmarked, scored from inside the six-yard box.
The goal seemed to fill Fulham with more confidence and Phillips saved well from Healy, before making a good save from Alexey Smertin's 25-yard curler.
Danny Murphy (centre) rescued a replay for Fulham
The Cottagers were far more confident in the second half and after a slick move Dempsey's shot was saved low by Phillips, before a great tackle from Hinton denied the striker a shot on goal after he turned well in the box.
But midway through the second period Rovers retook the lead against the run of play to once again stun Fulham and silence the home fans.
Chris Lines' cross was met well by Hinton who rose unmarked eight yards out to head in his side's second goal.
However, their lead lasted just 10 minutes as Murphy fired the home side level.
Steven Davis, with his first touch after replacing Smertin, played the ball forward and Healy's knockdown was hammered home emphatically by Murphy from 20 yards.
Fulham piled on the pressure in search of the winner but it was Rovers who finished the strongest as they earned a replay at the Memorial Ground on Tuesday 15 January.
Fulham: Niemi, Volz (Ki-Hyeon 72), Bocanegra, Stefanovic, Konchesky, Davies, Smertin (Davis 73), Murphy, Bouazza (Baird 25), Healy, Dempsey.
Subs Not Used: Ricardo Batista, Leijer.
Goals: Healy 40, Murphy 73.
Bristol Rovers: Phillips, Lescott, Hinton, Elliott, Jacobson, Pipe, Coles, Lines, Igoe (Carruthers 76), Williams (Rigg 76), Lambert (Walker 90).
Subs Not Used: Mike Green, Reece.
Booked: Phillips, Jacobson.
Goals: Coles 3, Hinton 65.
Ref: Keith Stroud (Hampshire).
BBC Sport Player Rater man of the match: Bristol Rovers' Danny Coles 8.29 (on 90 minutes).
Please note that you can still give the players marks out of 10 on BBC Sport's Player Rater after the match has finished.