The 26-year-old England international followed up impressive individual displays in the cup victories over Carlisle and Manchester United to play the key role in a precious 4-1 victory at Craven Cottage.
Johnson gave the visitors a 23rd-minute lead with a fine free-kick and then set up fellow midfielder Ki Sung-yueng to double his side’s advantage with a deflected 41st-minute shot.
Steve Sidwell headed Fulham back into it seven minutes after the restart, but Johnson added a second with 21 minutes remaining and then converted and 85th-minute penalty to make sure the points headed back to Wearside.
As a result, Crystal Palace slumped to the foot of the table after going down 2-0 at Tottenham on an afternoon when things might have turned out so differently.
Palace were presented with a glorious opportunity to take the lead with just eight minutes gone after Mousa Dembele had fouled Marouane Chamakh, but Jason Puncheon skied his spot-kick horribly to let Spurs off the hook.
Tim Sherwood’s men took full advantage of their escape as Christian Eriksen and substitute Jermain Defoe struck after the break to seal victory.
But there were better fortunes for beleaguered West Ham boss Sam Allardyce as his side bounced back from shipping 11 goals in their last two games to win 2-0 at Cardiff and leapfrog the Welshmen.
Carlton Cole’s 42nd-minute strike gave the visitors a half-time advantage, and although the visitors had to play out the closing stages with just 10 men after defender James Tomkins was sent off for a second bookable offence, midfielder Mark Noble added a second in injury time.
The Hammers climbed out of the bottom three by virtue of their win with the Bluebirds slipping below them to leave new manager Ole Gunnar Solskjaer in little doubt as to the task he faces.
Everton maintained their challenge for European qualification by overcoming a stubborn Norwich side 2-0 at Goodison Park.
Gareth Barry opened the scoring with 23 minutes gone, before Kevin Mirallas wrapped up the points with a 59th-minute free-kick.
Adam Lallana’s lone strike was all Southampton needed to see off West Brom 1-0.
The England international’s 66th-minute strike did the trick on a day when the Saints dominated possession, but had to fight all the way to the whistle.
Chelsea had earlier eased themselves back to the top of the table with a hard-fought 2-0 victory at Hull.
The game was scoreless at the break with Tigers goalkeeper Allan McGregor having produced a stunning save to deny Oscar the opening goal.
Opposite number Petr Cech too had to be at his best to keep out efforts from Ahmed Elmohamady and Jake Livermore as he recorded a 209th clean sheet in his 458th appearance for the club, in the process beating Peter Bonetti’s record that had stood since 1979.
A stunning 57th-minute Eden Hazard strike put the visitors ahead, and they cemented the win three minutes from time when Fernando Torres made sure of the points on his 200th Premier League appearance.