Spanish midfielder Mikel Arteta kept his nerve to sink Fulham with a last-minute penalty and keep the Toffees' slim hopes of European football next season alive thanks to a 2-1 Goodison Park victory.
Cottagers boss Roy Hodgson made nine changes for the trip to Goodison Park but still saw his side take the lead through Erik Nevland nine minutes before half-time.
However any hopes Fulham had of an unlikely victory were extinguished when soon-to-be Manchester United defender Chris Smalling got in the way of substitute Victor Anichebe's 49th-minute header.
With Liverpool beating Burnley, Everton's bid for seventh and a Europa League place looked to be coming to a close, but Arteta had other ideas after Chris Baird hauled down Tim Cahill at the death.
A draw wouldn't have been good enough for David Moyes troops but they still need a huge slice of luck to finish above their Merseyside rivals - who sit five points about them with two games left.
Keeper Mark Schwarzer and Baird were the only two players retained from Thursday's Europa League draw with Hamburg with Fulham lacking continuity early on as a result.
They could have been behind after just two minutes but Russian Diniyar Bilyaletdinov struck Tony Hibbert's deep right-wing cross against the post with Schwarzer stranded.
Everton were running Fulham ragged and Cahill and striker Yakubu both came close to opening the score before Nevland did for the visitors in the 36th minute.
England hopeful Leighton Baines dealt Toffees keeper Tim Howard a hospital pass, with Norwegian Nevland sneaking in to intercept and chip home for an unlikely lead.
Former Millwall midfielder Cahill came close minutes later, before Everton finally drew level when Arteta's cross found Anichebe who turned the ball home via Smalling.
Roma loanee Stefano Okaka had a glorious opportunity to seal a dramatic win for Fulham towards the end, but with an age to slot home after being fed by Nevland he shot straight at Howard.
And his miss proved costly as Baird recklessly brought down Cahill in the box, with Arteta sending Schwarzer the wrong way to seal all three points.