Chelsea also had coach Jose Mourinho sent to the stands in the dying minutes after the game came to life at Villa Park.
Chelsea stay top with 66 points from 30 games above second-placed City who have 60 points but with three games in hand.
Although Chelsea and City both had players sent off in their matches the London side had no response to Fabian Delph's clever 82nd minute backheel which secured Villa's victory. Third-placed Liverpool and Arsenal both have 59 points and play on Sunday.
Villa's goal came 15 minutes after Chelsea's Willian was sent off for a soft second yellow card while fellow midfielder Ramires was dismissed in stoppage time for a stamp on Karim El Ahmadi.
Manchester City were reduced to 10 men after only 10 minutes against Hull at the KC Stadium when skipper Vincent Kompany was red carded for a foul on striker Nikica Jelavic but they won with goals from David Silva and Edin Dzeko.