Breezy 2-0 victors over Hull City in their opening game on Sunday, Chelsea had to dig much deeper against Paul Lambert's side but eventually prevailed through a header from Branislav Ivanovic with 17 minutes to play.
As against Hull, Chelsea had taken an early lead, this time through an own goal from Antonio Luna, but Villa refused to surrender and claimed an equaliser on the stroke of half-time when Christian Benteke lashed home.
Victory in an occasionally ill-tempered game, brought forward due to Chelsea's involvement in the UEFA Super Cup on August 30, will give Jose Mourinho enhanced belief that his side are ready for the battle sure to await them at Manchester United on Monday.
"That was very hard. I missed that about the Premier League!" said Mourinho, who returned to Chelsea in June after leaving Real Madrid.
"Normally matches in the Bernabeu, we win every match very comfortable. I told Paul Lambert that they deserve a point. It wouldn't be unfair."
Villa manager Lambert could take solace from the doggedness of his side's display, four days on from their impressive 3-1 win at Arsenal and eight months after a humiliating 8-0 defeat on the same pitch.
However, he was furious that Ivanovic went unpunished for an alleged elbow on Benteke and that Chelsea skipper John Terry was not penalised for an apparent handball in stoppage time.
"It is easy to come on here and have sour grapes, but it is there for everybody to see. He (Ivanovic) clearly elbowed Christian Benteke, it was a sending off," Lambert said.
"The penalty was a penalty, everybody saw that. He (referee Kevin Friend) missed two huge moments. How can you miss that magnitude of a decision? It is beyond me."
Mourinho made two changes to the team that beat Hull, introducing Demba Ba and Juan Mata in place of Kevin De Bruyne and Fernando Torres, while Ciaran Clark replaced the injured Nathan Baker at centre-back for Villa.
Chelsea had taken the lead after 13 minutes against Hull and they were just as quick off the mark against Villa.
This time the visiting team held out for only seven minutes, although there was more than a touch of fortune about the goal.
Oscar released Eden Hazard with an incisive pass down the inside-left channel and although Brad Guzan parried the Belgian's shot, the ball bounced off inrushing defender Luna and into the net.
Despite the early goal, Chelsea were not nearly as dominant as they had been against Hull and Villa might have equalised sooner had Andreas Weimann not completely miscued his header from Luna's cross in the 20th minute.
There was a blow for the visitors shortly before half-time when Clark had to go off after an inadvertent kick from Ba left him with blood streaming down his face, but they finished the half with a stoppage-time flourish.
Gabriel Agbonlahor powered down the left flank before squaring for Benteke to smash home an equaliser off the left-hand post.
Villa's tactic of withdrawing 10 men behind the ball when Chelsea had possession frustrated the hosts, while Agbonlahor and Weimann both came close to putting the visitors in front.
The volume inside the stadium rose as the intensity of the on-pitch challenges increased and the noise reached a crescendo in the 73rd minute when Ivanovic met Lampard's deep free-kick with a bullet header to put Chelsea ahead.
Villa created one golden chance for a second equaliser, but when Benteke's knock-down fell to Weimann in the 86th minute, Petr Cech came to the rescue by blocking with his legs.
There was an even bigger scare for the hosts in injury time when the ball struck Terry's outstretched arm inside the Chelsea box, but Friend did not put his whistle to his lips and Mourinho's men escaped.