Olivier Giroud fired home as he latched on to Mesut Ozil’s superb flick, before Ozil doubled the lead early in the second half with a cool finish.
Theo Walcott finished off a sweeping counter to make it 3-0, and Santi Cazorla added a fourth from the spot, before Hector Bellerin capped it off with a fine strike in stoppage time.
Andreas Weimann saw a header brilliantly saved by David Ospina at the other end, while Ashley Westwood was denied late on as Villa desperately tried to avoid the unwanted club record of six straight Premier League games without scoring.
But they couldn’t breach the Gunners’ defence and have now gone over 10 hours in the league without finding the net, while Arsenal registered their third win in a row – the first time they have done so this season.
Villa played a high line early on and were given a warning when Walcott raced in behind only to be tackled by Jores Okore, but their defence was split open again just a few minutes later.
The ball was fired forward by Bellerin, and Ozil produced a stunning first-time volleyed flick off the side of his boot, playing it beyond the defence for Giroud to chase. The Frenchman eventually got it under control and dinked the ball past Brad Guzan to put the hosts in front inside eight minutes.
The visitors’ tactics seemed to change as they started to enjoy more possession, but the Arsenal chances kept coming as Cazorla held off Carlos Sanchez before smashing a low effort against the upright.
Villa’s best chance of the half came a few minutes before the break, as the lively Carles Gil whipped in a cross from the right and Weimann rose high to nod down towards goal, drawing an excellent stop from Ospina.
Christian Benteke drilled a shot wide of the target as the visitors started the second half brightly, but the lead was doubled 10 minutes into the second period as Giroud played the ball beyond Villa’s high line, and Ozil latched on to it before slotting a low shot right into the bottom corner.
The hosts soon added a third as they broke forward from a Villa corner, and Cazorla played the ball into Walcott, who took an excellent touch before curling a right-footed shot into the bottom corner.
Substitute Chuba Akpom made an immediate impact when introduced soon after, racing into the box and taking the ball away from Guzan, who took out the defender to concede a penalty.
Cazorla stepped up and fired it down the middle, and Guzan got a huge hand on it only to see it fly into the corner of the net, much to his frustration.
As 10 hours since Aston Villa’s last Premier League goal passed, the visitors looked down and out and unlikely to get on the scoresheet.
Arsenal rounded off a superb afternoon in stoppage time as Cazorla squared the ball to Bellerin, who caught the ball perfectly with the side of his foot to steer it in off the post from the edge of the box.
Substitute Westwood nearly gave the visiting fans something to cheer, testing Ospina with an excellent long-range effort, but the goalkeeper stood firm to keep a clean sheet and make it six Premier League games without scoring.
Arsenal: Ospina (7), Bellerin (7), Mertesacker (6), Koscielny (6), Monreal (7), Coquelin (6), Ramsey (7), Walcott (8), Cazorla (9), Ozil (9), Giroud (7).
Subs: Rosicky (7), Flamini (6), Akpom (8).
Aston Villa: Guzan (5), Hutton (5), Okore (5), Clark (6), Richardson (6), Sanchez (3), Delph (6), Cleverley (6), Weimann (4), Gil (7), Benteke (5).
Subs: Sinclair (6), Agbonlahor (5), Westwood (6).
Man of the match: Mesut Ozil