The London club were looking to reassert their nine-point advantage at the top of the table after Manchester City had cut their lead to six points, but instead they fell to a cunning 82nd-minute back-heel by Fabian Delph.
The visitors finished the game with nine men after Brazilian midfielders Willian and Ramires were both sent off, while their misery was compounded in stoppage time when manager Jose Mourinho was sent to the stands.
Chelsea’s fourth defeat of the campaign hands City the advantage in the title race, as Manuel Pellegrini’s side now have three games in hand.
It will also give hope to Liverpool and Arsenal, both of whom trail Chelsea by seven points and have two games in hand on Mourinho’s side.
Liverpool visit seventh-place Manchester United on Sunday, while Arsenal face a trip to north London rivals Tottenham Hotspur.
Chelsea’s Nemanja Matic had a goal disallowed for handball during a slow-burning first half at Villa Park, before the game sprang to life in the final half hour.
Mourinho had just sent on Andre Schurrle and Demba Ba for Oscar and Fernando Torres when Willian was shown a second yellow card for bundling Delph over in the 68th minute.
With eight minutes remaining, Delph played a pass wide to Marc Albrighton on the left and then drove into the box to meet his team-mate’s cross with a clever flick that trundled into Petr Cech’s bottom-left corner.
Delph also hit the crossbar in injury time, before Chelsea’s frustration got the better of them, with Ramires sent off for an ugly stamp on Karim El Ahmadi and Mourinho dismissed for protesting.
– Silva inspires City victory
City finished the day six points behind Chelsea in second place, having survived the 10th-minute dismissal of captain Vincent Kompany to win 2-0 at Hull City.
Kompany saw red for a last-man foul on Nikica Jelavic, but David Silva put City ahead with a glorious curling effort just four minutes later and Edin Dzeko made sure of victory at the death.
“We needed to win today and playing with one player less for 80 minutes is very difficult, but I think we did a very good performance,” said City manager Pellegrini, who saw his side eliminated from both the FA Cup and the Champions League earlier this week.
“We defended well with and without the ball, but we also attacked a lot. It was a very professional response from the players.”
Kompany expressed his pride — and perhaps relief — via Twitter, writing: “Proud of the guys! Phenomenal shift they have put in again!”
Meanwhile, bottom club Fulham gave their chances of avoiding relegation a boost with a 1-0 win at home to Newcastle United that kept them four points from safety.
Ashkan Dejagah’s swerving 68th-minute shot crept beneath visiting goalkeeper Tim Krul to consign Newcastle to defeat on the day manager Alan Pardew began a seven-game ban for headbutting Hull midfielder Meyler.
“It will give us the confidence that we can avoid relegation and stay in the league,” said Fulham manager Felix Magath. “I’m convinced that we can manage it and stay in the league.”
West Bromwich Albion manager Pepe Mel tasted victory for the first time as an 85th-minute Youssouf Mulumbu goal saw his side complete a 2-1 comeback win at Swansea City that sent them three points clear of the drop zone.
Sunderland remain in the bottom three after a 0-0 draw at home to Crystal Palace, but they moved above Cardiff City, who fell to an injury-time Seamus Coleman strike in a cruel 2-1 defeat at Everton.
Goals from Morgan Schneiderlin, Rickie Lambert, Jay Rodriguez and Sam Gallagher saw Southampton beat Norwich City 4-2, while Peter Odemwingie scored twice as Stoke City sank West Ham United 3-1 at the Britannia Stadium.