Everton manager David Moyes celebrated 11 years in charge as his 10-man side all but ended Manchester City's already-slim title chances.
The hosts had a Kevin Mirallas goal disallowed before Leon Osman smashed home a superb 30-yard curling effort.
City could not respond despite Steven Pienaar's dismissal following a booking for a studs-up tackle on the hour.
The visitors had a strong penalty claim turned down late on but Everton sealed the win through Nikica Jelavic's shot.
Substitute Jelavic's superb breakaway injury-time effort rounded off a perfect afternoon and fully deserved win for the home side and manager Moyes following a difficult week.
Last Saturday's home humiliation against Wigan in the FA Cup and the uncertainty surrounding Moyes's future was soon forgotten thanks to a memorable performance full of spirit, passion and quality.
City, who are now 12 points behind Premier League leaders Manchester United having played a game more, will justifiably feel they should have had a penalty when Marouane Fellaini blocked a late Carlos Tevez strike with his hands in the box - but a free-kick was instead given outside the area.
However, the hosts were the better side throughout, despite a frantic finale in which goalkeeper Jan Mucha made several fine saves.
A City side missing the considerable midfield presence of Yaya Toure, who had a migraine, were second best from the outset and never look comfortable playing with three centre-backs.
Everton's Osman and Darron Gibson dominated the City midfield and continually exploited the gaps the system left on either flank.
The ever-impressive Leighton Baines saw less of the ball on the left but always looked likely to tee up a goal, while the excellent Seamus Coleman struggled to find a telling cross despite a barnstorming first-half display.
Everton's early superiority was almost rewarded when Mirallas had the ball in the net. However it was wiped out for offside, even though it appeared he was level as he smashed the ball into the near post after adjusting his feet brilliantly 15 yards from goal.
City finally mustered a couple of tame efforts on goal by Edin Dzeko and Tevez just after the 20-minute mark.
But Everton were still on top and deservedly went ahead when Osman crashed the ball into the net from distance. The midfielder ran onto Coleman's pass inside and cut across the ball that left England colleague Joe Hart almost motionless.
Mancini responded by switching to a 4-4-2 system and City immediately posed more of a threat.
Tevez fizzed a long-range effort and Dzeko was unable to leap high enough to get a headed chance on target.
Their improvement continued after the break and their chances of keeping alive their fading title dreams appeared good when Pienaar was sent off for a second yellow card following a nasty looking challenge on Javi Garcia.
But although City did create opportunities, their performance remained unconvincing and disjointed and Mucha's saves were all steady rather than spectacular.
Dzeko's delicate flick set up Tevez but Mucha, making just his second Premier League start in his three seasons with the club, kept out the Argentine's shot and then reacted well to save the follow-up from James Milner.
Pablo Zabaleta forced another fine save from the on-rushing Slovakian keeper but City should have had the chance of a penalty to open the scoring. Fellaini blocked a Tevez strike with his hand but referee Lee Probert awarded a free-kick.
And within minutes Jelavic made it 2-0 on the counter-attack to take Everton back up to fifth spot in the table and ensure Moyes could celebrate his anniversary in charge in style.
A flowing move saw Fellaini find Jelavic who brilliantly curled the ball past Hart for his first goal this year and seal a fourth consecutive win over City at Goodison Park.
Everton manager David Moyes:
"I would have been disappointed if we hadn't responded [to last week's defeat against Wigan] and surprised if we hadn't. The players played great. We were playing the champions of England and I thought we gave them a right good run for their money.
"What you saw is what Everton do. I thought we played really well in the first half and I thought in the second half, when we were down to 10 men, we did what Everton did 11 years ago when I took over.
"We were resilient, hard to beat, made sure the opposition didn't score, threw ourselves on the line for the team. We were rubbish last week but we have been good all season and you are watching a really good Everton side.
"It is just to make sure people realise we have not gone away. We are still there. I think people last week thought we had gone away.
"I think the sending-off is a terrible decision. The boy rolls about three times and there is hardly any contact. I thought it was the wrong decision."