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.
Man Utd lead significant - Platt
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.
Guy MowbrayBBC Match of the Day commentator
This was an Everton performance full of fight, desire and spirit which had the Goodison Park crowd fully behind them. They scored two great goals and some fine saves from goalkeeper Jan Mucha helped ensure the win.
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.
Moyes delighted by clinical Everton
"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."
The assist for the goal came from Marouane Fellaini.
90:00 +2:57 Goal scored
Goal! - Nikica Jelavic - Everton 2 - 0 Man City Nikica Jelavic gets on the score sheet with a goal from just outside the area to the top left corner of the goal. Everton 2-0 Man City.
The ball is sent over by Gael Clichy, save by Jan Mucha.
Samir Nasri delivers the ball, Jan Mucha makes a comfortable save.
Joe Hart takes the direct free kick.
90:00 +0:13 Booking
Booking Leon Osman shown a yellow card.
The assistant referee signals for offside against Nikica Jelavic.
Substitution Nikica Jelavic on for Victor Anichebe.
The ball is delivered by Pablo Zabaleta, Jan Mucha makes a save.
Handball decision goes against Marouane Fellaini. Aleksandar Kolarov has a direct shot on goal from the free kick.
Carlos Tevez takes a shot. Blocked by Marouane Fellaini.
Steven Naismith takes a outswinging corner from the right by-line played to the near post, Scott Sinclair manages to make a clearance.
Substitution (Man City) makes a substitution, with Scott Sinclair coming on for Kolo Toure.
Substitution (Man City) makes a substitution, with Gael Clichy coming on for James Milner.
Shot from 20 yards from Samir Nasri. Save made by Jan Mucha.
Inswinging corner taken left-footed by Aleksandar Kolarov, clearance by Victor Anichebe.
Corner taken right-footed by James Milner from the left by-line to the near post, save made by Jan Mucha.
Aleksandar Kolarov delivers the ball, Seamus Coleman manages to make a clearance.
Corner taken by Aleksandar Kolarov from the right by-line, clearance made by Marouane Fellaini.
James Milner takes a shot. Sylvain Distin gets a block in.
Effort on goal by Edin Dzeko from 30 yards. Jan Mucha makes a comfortable save.
Shot by Pablo Zabaleta. Save made by Jan Mucha.
Corner taken by Leighton Baines from the right by-line to the near post, Close range header by Sylvain Distin goes over the bar.
Leighton Baines takes the inswinging corner, Unfair challenge on Pablo Zabaleta by Johnny Heitinga results in a free kick. Direct free kick taken by Joe Hart.
David Silva takes a inswinging corner to the near post, Edin Dzeko produces a header from deep inside the six-yard box that clears the bar.
Substitution (Everton) makes a substitution, with Steven Naismith coming on for Kevin Mirallas.
Substitution Gareth Barry goes off and Samir Nasri comes on.
Kevin Mirallas decides to take the corner short.
James Milner takes a shot. David Silva takes a inswinging corner to the near post, Effort from just outside the area by Pablo Zabaleta goes over the target. Save by Jan Mucha. Sylvain Distin makes a clearance.
Carlos Tevez takes a shot. Save by Jan Mucha.
Aleksandar Kolarov fouled by Kevin Mirallas, the ref awards a free kick. Gareth Barry takes the free kick.
Foul by James Milner on Kevin Mirallas, free kick awarded. Free kick taken by Johnny Heitinga.
Unfair challenge on Carlos Tevez by Seamus Coleman results in a free kick. Direct free kick taken by James Milner.
Outswinging corner taken from the right by-line by Kevin Mirallas.
Kolo Toure restarts play with the free kick.
Dismissal Red card for Steven Pienaar.
Francisco Javi Garcia fouled by Steven Pienaar, the ref awards a free kick.
Outswinging corner taken left-footed by Leighton Baines.
Leighton Baines takes a outswinging corner from the left by-line to the near post, Leon Osman takes a shot. Kolo Toure gets a block in.
The ball is crossed by James Milner.
Victor Anichebe gives away a free kick for an unfair challenge on Joe Hart. Joe Hart takes the direct free kick.
Corner taken by Kevin Mirallas from the right by-line played to the near post, Kolo Toure makes a clearance.
Inswinging corner taken left-footed by Aleksandar Kolarov from the right by-line to the near post.
Leon Osman challenges Gareth Barry unfairly and gives away a free kick. Matija Nastasic restarts play with the free kick.
The ball is sent over by Aleksandar Kolarov, Johnny Heitinga makes a clearance.
Victor Anichebe takes a shot. Comfortable save by Joe Hart.
Aleksandar Kolarov takes the chance to get an effort at goal.
The official flags Victor Anichebe offside. Direct free kick taken by Joe Hart.
The referee gets the second half underway.
45:00 +2:29 Half time
Half Time It is the end of the first-half.
Marouane Fellaini challenges Matija Nastasic unfairly and gives away a free kick. Free kick taken by Joe Hart.
Johnny Heitinga takes the direct free kick.
45:00 +1:43 Booking
Booking The referee shows David Silva a yellow card.
Foul by David Silva on Seamus Coleman, free kick awarded.
Kevin Mirallas takes a shot. Blocked by Kolo Toure. Kevin Mirallas takes a short corner.
Edin Dzeko has a headed effort at goal from close in which goes wide right of the goal.
David Silva produces a cross.
Leon Osman concedes a free kick for a foul on James Milner. Pablo Zabaleta takes the direct free kick.
Carlos Tevez produces a right-footed shot from outside the penalty box and misses left.
Shot from deep inside the area by Victor Anichebe clears the bar.
Outswinging corner taken right-footed by Kevin Mirallas from the right by-line, Kolo Toure makes a clearance.
Victor Anichebe delivers the ball, clearance made by Aleksandar Kolarov.
Johnny Heitinga takes the direct free kick.
Booking Edin Dzeko goes into the referee's book.
Free kick awarded for an unfair challenge on Seamus Coleman by Edin Dzeko.
Assist by Seamus Coleman.
31:45 Goal scored
Goal! - Leon Osman - Everton 1 - 0 Man City Leon Osman gets on the score sheet with a goal from outside the penalty area to the top left corner of the goal. Everton 1-0 Man City.
Kolo Toure gives away a free kick for an unfair challenge on Victor Anichebe. Free kick taken by Leighton Baines.
Leighton Baines crosses the ball from the free kick left-footed from right wing.
Booking Aleksandar Kolarov receives a caution.
Aleksandar Kolarov gives away a free kick for an unfair challenge on Leon Osman.
Free kick awarded for a foul by Gareth Barry on Sylvain Distin. Jan Mucha takes the free kick.
Shot comes in from Aleksandar Kolarov from the free kick.
Booking Steven Pienaar is cautioned.
Free kick awarded for a foul by Steven Pienaar on Gareth Barry.
Free kick awarded for a foul by Steven Pienaar on Pablo Zabaleta. Pablo Zabaleta restarts play with the free kick.
Shot from outside the area by Kevin Mirallas misses to the left of the goal.
Shot by Edin Dzeko. Save by Jan Mucha.
Edin Dzeko takes the chance to get an effort at goal. Save by Jan Mucha.
Shot from 20 yards from Carlos Tevez. Save by Jan Mucha.
Pablo Zabaleta fouled by Steven Pienaar, the ref awards a free kick. David Silva delivers the ball from the free kick left-footed from right wing, save made by Jan Mucha.
The ball is crossed by Leon Osman.
The ball is crossed by Leighton Baines, clearance by Kolo Toure.
Shot from just outside the box by Seamus Coleman goes over the bar.
Francisco Javi Garcia fouled by Marouane Fellaini, the ref awards a free kick. Joe Hart takes the free kick.
Leon Osman takes a shot. Gareth Barry gets a block in.
Leighton Baines takes a outswinging corner from the left by-line to the near post, Francisco Javi Garcia makes a clearance.
Unfair challenge on Pablo Zabaleta by Steven Pienaar results in a free kick. Gareth Barry restarts play with the free kick.
The offside flag is raised against Kevin Mirallas. Joe Hart takes the free kick.
The ball is swung over by Seamus Coleman, clearance by Matija Nastasic.
Free kick awarded for an unfair challenge on Leon Osman by James Milner. Leighton Baines delivers the ball from the free kick left-footed from left wing, Gareth Barry manages to make a clearance.
The ball is sent over by Leighton Baines, save by Joe Hart.
Outswinging corner taken right-footed by Kevin Mirallas, clearance by Pablo Zabaleta.
Free kick awarded for a foul by Kolo Toure on Victor Anichebe. Strike on goal comes in from Darron Gibson from the free kick.
David Silva takes the free kick.
Booking Caution for Marouane Fellaini.
Free kick awarded for an unfair challenge on James Milner by Marouane Fellaini.
Corner taken by Leighton Baines played to the near post, David Silva makes a clearance.
Foul by James Milner on Leighton Baines, free kick awarded. The free kick is swung in left-footed by Leighton Baines, clearance made by Kolo Toure.
Unfair challenge on Francisco Javi Garcia by Kevin Mirallas results in a free kick. The free kick is delivered left-footed by Aleksandar Kolarov from left wing, clearance made by Darron Gibson.
Free kick awarded for a foul by Gareth Barry on Marouane Fellaini. Free kick taken by Johnny Heitinga.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.