Match ends, Fulham 1, Everton 3.
Everton recorded a fifth successive Premier League win to continue their push for a Champions League berth, dumping Fulham deeper into trouble.
Substitute Steven Naismith's shot deflected off David Stockdale to give the Toffees the lead, before Ashkan Dejagah drilled home an equaliser.
But Kevin Mirallas's left-foot shot and Naismith's stabbed finish ensured the visitors moved four points behind fourth-placed Arsenal.
Fulham are five points from safety.
It was the first time since the early days of David Moyes's reign in 2002 that the Merseysiders have won five league games in succession.
As they have a game in hand on Arsenal, who visit Goodison Park next Sunday, Everton's fate is in their own hands.
With six games to play, Fulham's situation is becoming critical, and defeat will have hurt even more because they played so well before the break.
On his first start, 17-year-old Moussa Dembele had an excellent chance to put the hosts in front a minute before the break but headed Lewis Holtby's chipped cross straight at Tim Howard.
The Everton keeper had earlier used his feet to deny the French teenager - not to be confused with former Fulham midfielder Mousa Dembele, now at Tottenham. However, a debatable offside flag had already been raised before the save was made.
Howard was also in the right place to turn away a Kieran Richardson effort, while veteran defender Sylvain Distin, without intending to, handled inside his own penalty area.
In contrast, Everton were poor in the first half. Their only opportunity of note came through a counter-attack that immediately followed Howard's save from Richardson. Gerard Deulofeu raced across halfway and deep into Fulham territory before forcing Stockdale into a feet-first stop.
But the visitors came to life after the half-time exit of World Cup hopeful Ross Barkley, who suffered a calf injury in front of England boss Roy Hodgson.
Roberto Martinez introduced Naismith and, within five minutes, was rewarded with the opening goal. The Scotland international let fly from the edge of the box after Richardson had half-cleared a corner, and the low shot struck William Kvist before going in off Stockdale.
Fulham equalised through a substitute of their own as Dejagah cut across the edge of the box before finishing in fine style.
However, once former Everton defender Johnny Heitinga and Pajtim Kasami had seen goalbound efforts saved by Howard, the hosts' hopes were dashed.
A superb pass from Aiden McGeady set up Mirallas to give Everton the advantage.
Then, as referee Anthony Taylor allowed play to continue after waving away a penalty claim for the visitors, Naismith wrapped up the points with a close-range finish.
Everton manager Roberto Martinez on the battle for fourth:
"Being in this position gives us an understanding of what a good season we've had.
"With the points we have, we have a realistic chance to fight for that aim (Champions League).
"I'm not saying we're going to get that because we admire Arsenal. They get in the Champions League consistently.
"They have developed a real understanding (of) what to do in these games, so that makes Sunday a phenomenal challenge."
Martinez also refused to rule Tottenham and Manchester United out of the battle.
"Look at the quality and experience of Manchester United and Tottenham, they will fight until the end. Mathematically seven teams are fighting for four positions.
"It will probably go down to the last game of the season."
- 27RietherBooked at 23mins
- 6KvistSubstituted forWoodrowat 64'minutes
- 45DembeleSubstituted forRobertsat 81'minutes
- 15RichardsonSubstituted forDejagahat 64'minutes
- 23ColemanBooked at 31mins
- 3BainesBooked at 75mins
- 10DeulofeuSubstituted forMirallasat 68'minutes
- 20BarkleySubstituted forNaismithat 45'minutes
- 21OsmanSubstituted forMcGeadyat 77'minutes
- Anthony Taylor
- Shots on Target
Second Half ends, Fulham 1, Everton 3.
Corner, Fulham. Conceded by John Stones.
Attempt missed. Kevin Mirallas (Everton) left footed shot from the right side of the box misses to the left. Assisted by Romelu Lukaku.
Attempt saved. Ashkan Dejagah (Fulham) left footed shot from the left side of the box is saved in the bottom left corner.
Offside, Everton. Romelu Lukaku tries a through ball, but Kevin Mirallas is caught offside.
Steven Naismith (Everton) hits the left post with a right footed shot from outside the box. Assisted by Leighton Baines.
Kevin Mirallas (Everton) wins a free kick in the defensive half.
Foul by John Arne Riise (Fulham).
Corner, Everton. Conceded by Ashkan Dejagah.
Goal! Fulham 1, Everton 3. Steven Naismith (Everton) right footed shot from very close range to the bottom right corner. Assisted by Leighton Baines with a cross.
Leighton Baines (Everton) wins a free kick in the defensive half.
Foul by Pajtim Kasami (Fulham).
Attempt saved. Steven Naismith (Everton) right footed shot from the centre of the box is saved in the centre of the goal. Assisted by Romelu Lukaku.
Corner, Everton. Conceded by Brede Hangeland.
Offside, Fulham. Ashkan Dejagah tries a through ball, but Pajtim Kasami is caught offside.
Substitution, Fulham. Patrick Roberts replaces Moussa Dembele.
Goal! Fulham 1, Everton 2. Kevin Mirallas (Everton) left footed shot from the centre of the box to the bottom left corner. Assisted by Aiden McGeady with a through ball.
Attempt missed. James McCarthy (Everton) right footed shot from a difficult angle on the right misses to the left. Assisted by Aiden McGeady with a cross.
Substitution, Everton. Aiden McGeady replaces Leon Osman.