Danny Murphy struck from the spot as Fulham edged a lively contest to halt Newcastle’s surge up the Premier League table.
Murphy converted a 66th-minute penalty after Fabricio Coloccini had clipped Andy Johnson while the England marksman was sprinting into the area.
Johnson had given Fulham a deserved interval lead when he capitalised on a defensive blunder by Claudio Cacapa to claim his third goal since his arrival in the summer.
The Cottagers attacked at will in the first half and their dominance deserved a greater return with Jimmy Bullard and Zoltan Gera failing to bury good chances.
But Newcastle emerged fired up after the break and their 57th-minute equaliser by Shola Ameobi, which had a hint of offside about it, was fitting reward for their revival.
Murphy’s goal set up a thrilling finale but Fulham hung on to protect their impressive home form, which now reads 13 points out of a possible 18.
Newcastle arrived at Craven Cottage looking for their third successive victory but Joe Kinnear’s Midas Touch, which has served the club so well since he took over, had deserted him.
Kinnear included Michael Owen among the substitutes and the England striker missed a fine late chance to equalise, with Fabio Capello watching from the stand.
Owen could watch from the bench as Newcastle were torn apart from the start by Fulham’s ambition, which saw Shay Given expertly palm a Bullard shot to safety.
Maintaining the pressure, Murphy almost saw a shot deflected into the net by Jose Enrique with Given stranded.
Newcastle striker Obafemi Martins tried his luck from long range but it was a rare moment of respite as Gera nodded a Simon Davies cross narrowly wide.
Enrique came to the Magpies’ rescue in the 18th minute when, stood virtually on the line as the last defender, he nodded clear another powerful Gera effort.
Plodding Jonas Gutierrez was punished for his lack of urgency when Davies stole the ball from his feet and found Johnson, but the England striker’s final pass was poor and Newcastle breathed again.
But there was no escape in the 23rd minute when rampant Fulham scored the goal their ascendancy deserved.
A floated cross by Bullard was met by Cacapa but his headed clearance struck team-mate Coloccini and fell into the path of Johnson, who buried the chance.
Fulham continued to spray the ball around with ease but the frequency of their attacks began to dry up.
Great footwork by Martins enabled the Nigerian striker to turn and shoot in the 38th minute but his effort bobbled narrowly wide.
Newcastle were seeing more possession but they were almost caught on the counter-attack in the 40th minute when Johnson, Bobby Zamora and Bullard combined only for Joey Barton to arrive in the nick of time.
Heavy rain was failing to dampen either side’s attacking ambition with Damien Duff outstripping Paul Konchesky and pounding the right post with a piledriver.
Nicky Butt saw a well-struck free kick saved by Mark Schwarzer and moments later the former Manchester United star should have converted from close range as Newcastle continued their impressive start to the second half.
It was all one-way traffic after the restart as the Magpies probed away for the equaliser and it duly arrived in the 57th minute.
Duff’s cross was deflected by Johnson into the centre of the area but an unfortunate bounce saw the ball elude right-back John Pantsil.
Instead, it slipped behind him and Shola Ameobi was the first to react by drilling home from three metres out.
Schwarzer palmed a cracking shot from Barton around the post as Newcastle continue to pummel away against a Fulham side that had disintegrated since their fine first half.
But against the run of play Roy Hodgson’s team restored their lead when Murphy struck from the spot in the 66th minute.
Coloccini just clipped Johnson as he sprinted into the area and referee Mark Atkinson had no hesitation signalling a penalty for the decisive score.