Argentine striker Tevez, who withdrew the transfer request he made last week shortly before the match, failed to shine and Everton scored through Tim Cahill and Leighton Baines in the opening 19 minutes at Eastlands.
Everton were reduced to 10 men when Victor Anichebe was dismissed after 60 minutes following two quick bookings before City pulled a goal back when Yaya Toure's [ Images ] shot was deflected in off Phil Jagielka.
City also finished with 10 men when defender Kolo Toure was sent off in stoppage time.
City would have moved a point clear of Manchester United [ Images ] at the top with a win to lead the table at Christmas for the first time since 1929. United stayed ahead with 34 points from 16 matches, followed by Arsenal [ Images ] on 32 from 17, City on 32 from 18 and champions Chelsea [ Images ] on 31 from 17.
Everton began their role as party poopers in the fourth minute when defender Seamus Coleman crossed for the unmarked Cahill to heade home and score for the third successive season at Eastlands.
Everton got a helping hand in the build-up because City were down to 10 men with Pablo Zabaleta off the field injured before returning with a huge bandage wrapped round his head.
Everton went down to 10 men permanently when Anichebe was sent off on 60 minutes after picking up two quick yellow cards, the second for a foul on Zabaleta.
Tevez worked hard in attack on his first appearance since last week's dramas, but had little impact as former City defender Sylvain Distin marked him tightly until a rasping shot in stoppage time, his best effort of the match.
City came close to snatching a point when Mario Balotelli [ Images ] burst through after 77 minutes but Everton keeper Tim Howard deflected his effort on to a post.
Monday's match, played in freezing temperatures, was only the third of the weekend's games in the Premier League to be completed because of the wintry conditions across Britain.
It was the fourth successive league win for Everton over City.