Duncan Ferguson scored on what could be his final appearance for Everton as they came from two goals behind to earn a deserved draw against West Brom.
A fan joins Ferguson to celebrate his equaliser
Zoltan Gera's early strike and a goal from Williams Martinez on his debut gave Albion an unlikely advantage.
Keeper Tomasz Kuszczak then performed heroics to keep Everton at bay.
But teenager Victor Anichebe pulled one back after 84 minutes and Ferguson scored from a rebound a minute from time after Kuszczak saved his penalty.
Everton laid siege to the Albion goal for long periods, but Kuszczak was in magnificent form, somehow keeping David Moyes' side out with a world-class display.
The game was preceded by a spell of rapturous applause in honour of Everton legend Brian Labone, who died recently.
And the first 45 minutes was an entertaining affair with both sides creating chances.
Ferguson was made captain for the day in what was likely to be his final game before retirement - but it was Kevin Kilbane who posed the biggest danger.
The Republic of Ireland midfield man came close with two headers, but saw the first turned on to the bar by Kuszczak and the second well saved.
Albion interrupted Everton's pressure to take the lead after 14 minutes, Gera stealing in behind Nuno Valente to turn Jonathan Greening's cross past Iain Turner.
Nathan Ellington also steered a good chance over the top from Gera's cross as relegated Albion pressed for a rare victory.
Kilbane was denied twice in the space of seconds seven minutes before half-time, as Kuszczak performed yet more heroics, this time from only six yards.
Albion came out of the blocks with real purpose after the break and doubled their lead on 47 minutes.
Turner blocked Kanu's header, but he had no chance when Martinez thumped home the resulting corner from 12 yards.
James McFadden responded with a surging run, but Pole Kuszczak was once again well-positioned to save.
The Albion keeper could do no wrong, and he was once more in action to block McFadden as he raced through.
Everton made a double change after 68 minutes, sending on Andy van der Meyde and Anichebe for Kilbane and the disappointing Simon Davies.
Kuszczak was having a dream afternoon, and he saved superbly again from Ferguson's downward header.
Anichebe showed his strength to score on the turn with six minutes left - the cue for more Kuszczak heroics.
He saved from Phil Neville inside the six-yard area before Leon Osman shot over an open goal.
But Ferguson stole the show in the closing moments when Martinez fouled Mikel Arteta.
Kuszczak saved Ferguson's penalty, but the Scot slammed home the rebound to give Everton the point their pressure deserved.
Everton manager David Moyes:
"I will speak to Duncan Ferguson and the other players out of contract, I have not spoken to them yet.
"But you will not hear any other way than after I have talked to the players themselves. I felt the fans were terrific, not just for Duncan but for all the players." "We should have won by a mile, everybody sensed that. We certainly should not have been behind. It was good goalkeeping and poor finishing.
"We had to come from a long way back and I must credit the players for that, and if it had gone on another five minutes we may well have won.
"The lack of goals has been the story of our season and it is something we must address.
"It is not just the forwards, we have midfielders, wide players and defenders all having chances and wasting them.
"Some of it was really good goalkeeping but the goals tally this season has been very poor."
Everton: Turner, Neville, Weir, Stubbs, Nuno Valente, Osman, Davies (Van der Meyde 67), Arteta, Kilbane (Anichebe 67), McFadden, Ferguson.
Subs Not Used: Ruddy, Naysmith, Ferrari.
Goals: Anichebe 84, Ferguson 90.
West Brom: Kuszczak, Watson (Hodgkiss 63), Martinez, Curtis Davies, Robinson, Gera (Carter 75), Wallwork, Quashie, Greening, Kanu, Ellington (Nicholson 69).
Subs Not Used: Hoult, Inamoto.
Booked: Wallwork, Carter.
Goals: G 14, Martinez 47.
Ref: A Wiley (Staffordshire).