Sixteen-year-old Ryan Sessegnon scored twice as Fulham inflicted a first league defeat in 10 on Newcastle after a 3-1 success at St James' Park.
The visitors dominated possession in the first half and were good value for their lead at the interval, given to them by Tom Cairney's superb strike in the 15th minute.
The game followed a similar pattern after the break and Fulham soon doubled their lead through Sessegnon six minutes into the second half, and eight minutes later it was three thanks to the same, impressive youngster.
Substitute Daryl Murphy pulled one back in the 76th minute, but that was all the below-par hosts could muster. Tim Ream could even afford to miss a late penalty for Fulham.
The result means Newcastle stay top, but miss the chance to open up a three point lead over Brighton. Fulham remain in seventh, but are now just two points off the play-offs.
Newcastle made four changes to the side that were held at Reading in midweek with Dwight Gayle coming in, but the Magpies' top goalscorer was a bystander for most of the first half as Fulham comfortably controlled proceedings.
It was not long until the Cottagers took the lead. A patient, flowing move worked the ball to Cairney, 25-yards out, who unleashed a ferocious strike that beat Karl Darlow in the Newcastle goal.
Two minutes later it was almost two, as Sone Aluko twisted and turned his way into the box, but Darlow stood tall to block. The only save that David Button had to make in the first half was a routine tip over from a Ciaran Clark header.
In the blink of an eye it was 3-0 to the visitors, both scored by Sessegnon. His first was a fine finish after Aluko had delightfully back-heeled into his path, before the same pair combined in the 59th minute to play in the youngster, who again finished superbly after running wide.
Newcastle continued to toil, but did find a way back into the match through Murphy, who worked an opportunity for himself before firing into the bottom corner from the edge of the box.
The stage looked set for Sessegnon to complete his maiden hat-trick in stoppage time after Paul Dummett had brought him down, but it was Ream who stepped up, only to fire wide from the spot.
Newcastle boss Rafael Benitez:
"We knew it could be a difficult game, and we knew we had to do well at the beginning and not make mistakes. But we started making mistakes, and we paid for that. Fulham are a good team - they passed the ball well and they have pace. We were giving the ball away, and that was giving them the chance to play in the way that they like to play."
Fulham boss Slavisa Jokanovic:
"We played very good football and we tried to win the game. With our style, we move the ball and we had control. We were more clinical. I believe at the end my team deserved the result. It is a great step for us, everything is open, although some teams have more points than what we have right now."