Villa's tough run at home to Liverpool continued after a defeat which left them with just one win in the last 16 matches with the Merseysiders in B6.
Daniel Sturridge's 21st-minute goal was enough to give the Anfield outfit all three points on a day when five of Villa's summer signings made their Barclays Premier League home debuts.
Jores Okore, Antonio Luna and Leandro Bacuna were all in the starting line-up, while Aleksandar Tonev and Nicklas Helenius went on as substitutes as manager Paul Lambert strove to find an equaliser.
The fact that it didn't materialise was due in no small measure to Simon Mignolet, the keeper who conceded six goals when Sunderland were at Villa Park in April.
This time the keeper kept a clean sheet, making two excellent saves from Christian Benteke, while Gabby Agbonlahor was only just off target with a second half volley.
Andi Weimann's superb pass to Benteke set up the first chance of the match, the striker holding off Kolo Toure's challenge on the left before playing the ball back to Agbonlahor.
Brimming with confidence after his impressive start to the campaign, Agbonlahor sprinted into the penalty area before hitting a shot which took a deflection and went harmlessly into Mignolet's arms.
Weimann also pounced on a loose Daniel Agger clearance, only for his right-wing cross to sail across the goalmouth with no-one in position to take advantage of the half-chance.
But Liverpool were also displaying plenty of enterprise and after Philippe Coutinho had fired over from the edge of the box, the visitors were ahead when Sturridge cleverly sidestepped a couple of challenges before stabbing the ball into the roof of the net as Brad Guzan dived at his feet.
The goal took the sting out of Villa for a while and 10 minutes elapsed before they threatened again, Bacuna creating space for a low drive which went wide of the right-hand post.
Even so, long periods of play were confined to the middle ground as the sides engaged in what almost amounted to a game of chess on a football pitch.
The cautious approach was suddenly broken just before half-time, however, when Bacuna's silky skills enabled him to get in a shot which was deflected for a corner.
Okore's header from the flag kick was partially cleared, but only as far as Benteke, who held off a challenge before unleashing a curling right-foot shot which Mignolet tipped away at full stretch.
As Villa maintained the momentum, there was another chance when, following a spell of pressure, Matt Lowton knocked the ball down for Weimann to fire over the bar.
Ron Vlaar also got forward, although the skipper was well off target with a header from Ashley Westwood's free-kick in first-half stoppage time.
Vlaar did well in a defensive capacity just after the break, diverting Sturridge's menacing low centre for a corner before Guzan took a nasty blow from Agger as he punched clear.
Fortunately the keeper was quickly on his feet, while Liverpool's Danish defender needed treatment for a shoulder injury.
Villa responded with a Bacuna free-kick which was blocked by the visitors' defensive wall and then Westwood sent two shots over the bar, the second after Benteke and Agbonlahor had combined well on the left.
A neat Liverpool move enabled Glen Johnson to find a shooting position just inside the penalty area and there was relief among home supporters when the full-back's hurried effort was both high and wide.
In the 65th minute, Villa sent on Karim El Ahmadi for Lowton, with Bacuna taking over at right-back.
The Morocco international had only been on the pitch for a couple of minutes when he moved on to Luna's pass for a low shot that was blocked.
Then Benteke sent a header off target from Westwood's left-wing corner.
It was certainly proving tough to break down the Reds' resolute defence, although Agbonlahor was close to an equaliser in the 74th minute, volleying narrowly wide after Toure had headed away Bacuna's cross from the right.
Tonev, introduced as a 73rd minute substitute for Weimann, tested Mignolet six minutes later when his skidding low drive was clutched by the diving keeper.
Mignolet made an even better save four minutes from the end, pushing away Benteke's fierce drive for a corner after Helenius had set up the chance with a header into the Belgium international's path.
Liverpool had been content to sit back for most of the second half, although Guzan was forced to race out and tip the ball away from Sturridge's feet after Okore's back-header fell short.
Villa: Guzan; Lowton (El Ahmadi 65), Okore, Vlaar, Luna; Westwood (Helenius 83), Delph; Bacuna, Weimann (Tonev 73), Agbonlahor; Benteke. Unused subs: Steer, Clark, Herd, Sylla.
Liverpool: Mignolet; Johnson, Toure, Agger, Enrique; Henderson, Gerrard, Lucas; Aspas (Cissokho 68), Sturridge, Coutinho (Allen 83). Unused subs: Jones, Alberto, Borini, Sterling, Wisdom.