Leon Osman and Nikica Jelavic struck as 10-man Everton responded to their critics to deliver a potentially fatal blow to Manchester City's title hopes.
The Toffees have spent the week soul-searching after their devastating loss to Wigan in the FA Cup quarter-finals but they looked back to their best in a fiery Premier League clash at Goodison Park.
Kevin Mirallas had a goal harshly disallowed before Osman scored from long range after 32 minutes and the Toffees held on despite the dismissal of Steven Pienaar and made sure through Jelavic in injury time.
City could have had a penalty late on when Marouane Fellaini was penalised for handling a Carlos Tevez shot but referee Lee Probert mistakenly thought the offence had occurred outside the area.
Everton's back-up goalkeeper Jan Mucha, continuing to deputise for the injured Tim Howard, also produced instinctive saves from James Milner and Pablo Zabaleta as City battled to keep their slim title chances alive.
The result meant Everton boss David Moyes, after one of the toughest weeks of his tenure and speculation over his future, could after all mark the 11th anniversary of his appointment with some satisfaction.
It was a sixth win in eight meetings for the Merseysiders against City, whose prospects nosedived before kick-off when it emerged talisman Yaya Toure had been ruled out after suffering a migraine.
An imposter tried to join in their warm-up, and he was arrested by Merseyside Police for pitch encroachment, but it was Javi Garcia who took the Ivorian’s place.
All the urgency came from Everton as they demonstrated a hunger and desire they failed to show last week.
Fellaini, himself subject of plenty of criticism this week, left no one in doubt as to his desire with a crunching challenge on Milner. The downside for him and Everton was that it earned a 10th booking of the season and a two-match suspension.
City were slow to respond and thought they had been punished in the 13th minute when Mirallas lashed the ball into the net after Osman returned a clearance into the visitors’ box.
Much to City’s relief, a flag had been raised for offside but replays suggested the decision was an extremely harsh one.
City finally started to stir with some neat moves leading to a couple of chances for Edin Dzeko and one for Tevez but Mucha was not seriously tested.
Everton were frustrated not to get a free-kick when Sylvain Distin was knocked over by Gareth Barry in a challenge and the City midfielder was caught soon after by Pienaar, who earned his first yellow.
Aleksandar Kolarov was the next to be booked after up-ending Osman, whose next significant contribution was to fire the Toffees ahead.
The midfielder, whose form earned another England call-up this week, took a square ball from Seamus Coleman 25 yards out and struck a first-time shot which swerved viciously away from Joe Hart.
Fellaini appealed in vain for a penalty after tangling with Matija Nastasic in the area and Victor Anichebe fired over as Everton continued to force the pace.
Tevez found room and flashed a shot across goal as City served warning of their talent but the visitors remained second best.
They were stretched again when Hart could only palm a Coleman cross as far as Mirallas but the Belgian’s header was deflected over.
The start of the second half was much quieter by comparison but City did show some urgency with Kolarov forcing John Heitinga to hack away a cross in the area.
Everton went close again when Osman had a volley deflected over from a corner and the feisty atmosphere of the first half returned when Pienaar caught Garcia and was shown his second yellow card.
Tackles flew in from both sides after that as City tried to force the pace and make their extra man count.
They almost broke through when Tevez stretched to volley a Dzeko ball at Mucha. The ball rolled invitingly across goal for Milner but Mucha recovered quickly and threw his body in the way as the England man looked certain to equalise.
Everton had no intention of sitting back and were close to a second when former City defender Distin headed narrowly over from a Leighton Baines corner.
City pieced together another good move but Mucha again spread himself well to deny Zabaleta after David Silva had found him in space on the right.
City continued to press and had an opportunity when a Tevez shot struck Fellaini’s arm in the box, but a free-kick outside the area was awarded and Kolarov struck the wall.
Everton rode out the storm and broke away in injury time through Fellaini, who rolled wide for Jelavic to beat Hart with a deflected shot.