John McGinn gave the hosts an early lead after beating a couple of players before slotting the ball into the far corner.
Villa had a few more opportunities to extend their lead, but Nicolo Zaniolo and Moussa Diaby failed to convert their chances.
Manager Unai Emery brought on Leon Bailey to replace Zaniolo for the second half, and the 26-year-old made an instant impact.
Bailey set up Diaby to rifle a powerful shot into the bottom corner to double Villa’s advantage on 49 minutes.
The hosts kept up the pressure, and it paid off as Luton captain Tom Lockyer inadvertently turned Diaby’s cross into his own net.
The fate of the contest never looked in question as the Hatters failed to create many scoring opportunities.
They didn’t manage their first shot on goal until the hour mark when Ross Barkley hit a rising long-range effort that went over the bar.
However, the visitors finally got a consolation goal late in the game as Ezri Konsa headed back towards his own goal, but it hit the crossbar and then Emiliano Martinez before landing into the back of the net.
The victory left Villa fifth in the Premier League standings, with 22 points from their ten games.
- £1.3bn Manchester United investor will prioritise homegrown talent over foreign stars
- Morning Mix: Kelleher must shine for Liverpool, time running out for Burnley manager
- This Week In Football: Dortmund conquer the group of death, Tigres lift sixth title in six years & more
- Big update on ‘excellent’ Arsenal star, agreement ‘expected’ in due course
- Top 10 football predictions for 2024
- Preview: Manchester City vs Tottenham Hotspur – prediction, team news, line-ups
- Preview: Newcastle United vs Manchester United – prediction, team news, line-ups
- Maguire & Sterling nominated for November Premier League POTM award
- Ten Hag, Howe, Iraola, Edwards up for Premier League MOTM award
- Man City FFP trial scheduled for late next year