Romelu Lukaku fired the Champions League winners ahead after excellent work from Mateo Kovacic.
The latter then doubled the home side’s advantage when he pounced on a Tyrone Mings mistake, before Lukaku added a third late on.
Villa had plenty of the play and most of the chances but could find no way past Chelsea keeper Edouard Mendy.
Dean Smith’s team have now lost both of their opening two Premier League away matches but the contrast between their performance at Stamford Bridge and the opening day loss at Watford could not have been starker.
The first half here was the best they have played so far this season and yet they trailed at the break due to a lack of sharpness in both boxes, with Kovacic and Lukaku showing them how to do it with a brutally clinical move.
Mings’ mistake early in the second half, when he underhit a backpass, then gave the visitors a mountain to climb, albeit they kept pushing to the finish and were unlucky not to score at least one. Lukaku’s second, deep into stoppage time, felt unnecessarily cruel.
There was still a lot to like about Villa’s performance despite the result. Smith’s decision to switch to a back three to match Chelsea’s system proved a sound move but his team could not capitalise on their chances, while Mendy also kept them at bay with some impressive goalkeeping.
There were five changes in total to Villa’s starting XI from the 1-1 draw with Brentford last time out, including returns for both John McGinn and Jacob Ramsey following their positive tests for Covid-19.
Ollie Watkins made his first start of the season, while Steer replaced Martinez in goal.
It was a nervy start for the latter, making just his third Premier League start. When Callum Hudson-Odoi swung in a ninth minute corner, the goalkeeper missed with his near post punch and the ball deflected off the knee of the unsuspecting Ezri Konsa and off the bar.
Villa then broke but Ings overhit the pass when given the opportunity to play Watkins through on goal.
Soon after the visitors were given a lesson in precision as Chelsea took the lead. Kovacic danced past Ramsey and McGinn before bursting out of defence and playing a pass which put Lukaku through on goal. The striker still had plenty to do but with one movement chopped inside the challenge of Tuanzebe, before sliding a finish under Steer.
Villa’s response was impressive and they only trailed at half-time due to some excellent goalkeeping and some less than clinical finishing.
First Chelsea keeper denied Watkins, pushing a low drive wide of the post after Ramsey had found the striker following a driving run from midfield.
Then, when the keeper was beaten after Watkins rounded him, the striker struck his finish too close to the covering Thiago Silva, who was able to block.
Villa now had control of midfield but they could not find a way past Mendy. In quick succession the keeper denied Tyrone Mings and then Konsa on the follow-up, though the latter may feel he should not have given the keeper the chance.
Chelsea made a change at the break, with the below-par Saul Niguez hooked for Jorginho.
It was still Villa who threatened first, Lukaku heading over his own bar from a well-weighted McGinn corner.
But the tone of the match then changed four minutes to the half when the hosts were gifted a second. Mings was under a little pressure from Kovavic, though not major, when he aimed a pass back towards Steer. It lacked sufficient power, allowing the Chelsea man to nip in and dink a finish beyond the keeper and into the corner.
Smith acted by introducing Leon Bailey for the unlucky Ramsey. The Jamaica international teed up Watkins on the edge of the box but the shot took a deflection off a defender and just over the bar.
Bertrand Traore, Villa’s next change in place of Danny Ings, also saw an effort deflected just off target, while Konsa headed straight at Mendy from the resulting corner.
Into the final 15 minutes, Marcus Alonso came close to settling the match once and for all with a low drive which whistled just past the post.
Villa kept pushing but Watkins sent a shot too close to Mendy and then saw a close-range header blocked by Jorginho.
In stoppage time, Lukaku made it three, firing high into the roof of the net after Ziyech had evaded Mings.
15 GOAL Romelu Lukaku fires Chelsea ahead after being picked out by Mateo Kovavic’s through ball.
49 GOAL Chelsea double their lead after Kovacic pounces on a poor Tyrone Mings backpass.
90+3 GOAL Lukaku adds Chelsea’s third, firing high into the roof of the net from Ziyech’s pass.
Chelsea (3-4-3) Mendy, Chalobah, Thiago, Rudiger, Hudson-Odoi (Werner 82), Kovacic, Saul (Jorginho HT), Alonso, Ziyech, Lukaku, Havertz (Azpilicueta 64) Subs not used: Chilwell, Christensen, Barkley, Loftus-Cheek, Mount, Arrizabalaga (gk).
Villa (3-5-2): Steer, Konsa, Mings, Tuanzebe, Cash, Ramsey (Bailey 56), Luiz (Nakamba 79), McGinn, Targett, Watkins, Ings (Traore 69) Subs not used: Hause, Young, Sanson, El Ghazi, Archer, Sinisalo (gk).