Leicester looked set to register their fifth win of the season when David Nugent and Esteban Cambiasso put them 2-1 up, after Steven Naismith had broken the deadlock.
But with less than two minutes left, Christian Atsu crossed for Romelu Lukaku, whose diving header flew past Mark Schwarzer via huge deflection off Matthew Upson.
Lukaku had looked a shadow of the man who bagged a hat-trick against Young Boys on Thursday and missed several chances before his late good fortune. He was not the only poor performer for the hosts. Everton were poor all over the pitch and can count themselves lucky to claim a point.
Ross Barkley was hooked after 53 minutes after a poor display and Aaron Lennon faded after a bright start. Tim Howard gave his critics further ammunition by flapping at two crosses, which allowed the Premier League’s bottom club to score twice.
Naturally disappointed, Nigel Pearson he can take heart from the fact his team are now four points closer to safety, rather than five.
“The dressing room is very disappointed because we did very well today,” the Foxes boss said.
“We have got to turn these sort of performances into wins. There is not getting away from the predicament we find ourselves in but the performance was there today. We will have to bounce back.”
Leicester started strongly with Jeffrey Schlupp dangerous in the opening stages, firing a low drive at Howard. Schlupp burst into the box moments later and it needed the combined efforts of three Everton players to stop the Ghanaian.
The home fans were unhappy as Everton lacked pace or purpose. They briefly woke from their slumber when Lukaku collected and went clean through following an incisive pass by Barkley, but the striker was offside.
Barkley curled a 20-yard free-kick into the Park End and Lukaku did the same moments later.
Andrej Kramaric came close at the other end when he curled his shot a foot over Howard’s goal. John Stones then put in a last-ditch block to deny Schlupp in first half injury time.
The game was a far more entertaining affair in the second half. Just two minutes after the break, Howard parried Matty James’ shot, but Schlupp dragged the follow-up wide.
Boos rang out around Goodison Park in the 53rd minute when Muhamed Besic, who had controlled the game from midfield, was replaced by Atsu. Darron Gibson came on for Barkley, who was far less effective.
Any dissenting voices were muted four minutes later when Everton took the lead. Lukaku held the ball up brilliantly and laid off to Naismith, who squeezed his shot between Wes Morgan and Robert Huth and the ball trickled past Mark Schwarzer.
Pearson made a double change, bringing Nugent and Jamie Vardy on. Just over a minute later, the pair combined to equalise. Vardy pulled away on the right and drove a low shot goalward. Howard spilled it into the path of Nugent, who tapped in.
Lukaku should have put Everton back in front but somehow contrived to clear the bar from 10 yards.
The hosts were punished immediately and Howard was at fault again. He flapped at a cross and Vardy pulled the ball back to Cambiasso, who drilled in from inside the box.
The Everton fans groaned as Lukaku could only muster a weak shot after being played in by Naismith.
But the Belgian made a telling impact in the dying minutes, to steal a fortuitous point for Martinez’s side.
EVERTON: Howard, Coleman, Stones, Jagielka, Baines, Besic (Atsu 55), McCarthy, Lennon, Barkley (Gibson 55), Naismith (Mirallas 85), Lukaku.
LEICESTER: Schwarzer, Simpson, Morgan, Huth, Upson, Konchesky, Mahrez (Nugent 62), James, Cambiasso (King 87), Schlupp (Vardy 62), Kramaric.
Ref: Phil Dowd (Staffordshire).