An own goal by Lucas Leiva and a glancing header from Curtis Davies gave Villa a 2-0 interval lead before Fernando Torres pulled one back for Liverpool in the 72nd minute.
Any hopes of a storming comeback were shortlived as Steven Gerrard rashly brought down midfielder Nigel Reo-Coker and Ashley Young beat keeper Pepe Reina from the penalty spot with 15 minutes remaining.
With the season a week old Liverpool, runners-up to Manchester United last season, have already lost as many matches as they did in the whole of the previous campaign. It was also their first league defeat at Anfield since December 2007.
"The first 20 minutes we were alright but an own goal and another goal in first half extra time and then a penalty when I thought we were playing better and pushing hard, there were too many things against us," Liverpool manager Rafa Benitez told BBC radio.
Villa, who for much of last season looked capable of a top-four finish before running out of steam, were booed off after losing to Wigan Athletic at home last week but manager Martin ONeill was delighted with their response.
"We put a big effort into the match, we defended very strongly and we broke. We are capable of scoring goals and we did that," he said.
"I was staggered about what was going on being booed. For us to get the abuse we got at halftime against Wigan, I dont think it was warranted."
Liverpool dominated early but fell behind after 34 minutes when Youngs free kick was headed into his own net by Lucas.
Worse was to follow on the stroke of halftime when Davies lost his marker in the area to glance in a corner that Liverpool protested should not have been awarded.
The home side piled on the pressure in the second half and Dirk Kuyt hit the post with a header before Torres beat Villa keeper Brad Friedel with a sharp finish.
Gerrards rush of blood to the head completed a miserable night for Liverpool as his tackle allowed Young to seal Villas first league win at Anfield for eight years.