Champions Arsenal, Everton and Manchester United also claimed home wins and Liverpool won 5-0 at West Bromwich Albion.
Chelsea were below their sparkling best but maintained their five-point lead. Damien Duff's goal after 30 minutes was enough to beat injury-weakened Villa and secure their first Boxing Day win for five seasons.
Across London at Highbury, Thierry Henry hit his 20th of the season and equalled Ian Wright's tally of 128 league goals for Arsenal as the champions beat Fulham 2-0. Robert Pires completed the easy victory on 71 minutes.
Manchester United kept up the chase when they beat Bolton Wanderers 2-0 for their sixth win in seven games. Everton maintained their remarkable season with a 2-1 home win over Manchester City.
Chelsea top the standings on 46 points with Arsenal on 41. Everton are third on 40 with Manchester United fourth on 37.
Norwegian John Arne Riise scored twice to help Liverpool rout bottom side West Brom, who have yet to win in seven attempts under new boss Bryan Robson.
Florent Sinama-Pongolle, Steven Gerrard and Luis Garcia were also on the scoresheet. Milan Baros missed a penalty after Cosmin Contra was sent off for handball.
Tottenham Hotspur chalked up their fifth league win a row, Robbie Keane and Michael Brown scoring to win 2-0 at Norwich.
Portsmouth won 1-0 at Crystal Palace, while Graeme Souness's return to Ewood Park ended with his Newcastle United side drawing 2-2 with Blackburn Rovers.
RETREATING DEFENCE
After a subdued start, Chelsea struck when Arjen Robben attacked a retreating Villa defence and fed Duff, who cut in from the right to fire in a low left-footed shot from 12 metres.
It was the sixth time in Chelsea's last nine games that the Irish winger had opened the scoring but, unlike in recent weeks, they failed to build on the lead.
The slick passing that has led to so many emphatic victories was absent and the second half was something of a battle.
However, Jose Mourinho's team did enough to make it eight wins and two draws from their 10 home games, in which they have scored 20 goals and conceded just three.
"Villa always create problems for Chelsea but with the number of good chances we had we should have killed the match early on," Mourinho told Sky Sports News.
"But we fought, maybe some people don't understand that. They think Chelsea should always play fantastically and score a lot of goals but I don't remember a really difficult situation for us."
At Highbury, Henry showed neat control to make space on the edge of the box before stepping inside to score a typical opportunist goal and get Arsenal going.
The champions looked sharp and inventive from then on but had to wait until the last 20 minutes to make the game safe when Pires scored after a neat passing move.
Manchester United were far too strong for Bolton, who have lost five in a row to hurtle down the league.
SUPERB DISPLAY
Ryan Giggs hooked in the opener after 10 minutes and set up the second for Paul Scholes a minute from time - with only a superb display by Bolton goalkeeper Jussi Jaaskelainen in between preventing a rout.
Headed goals by Tim Cahill (22 minutes) and Marcus Bent (63) either side of a Robbie Fowler equaliser (42) gave Everton their 12th win of the season.
It took them to the 40-point mark after 19 games - one point more than they gained all last season.
The Premier League swings back into action in two days with a full programme of midweek matches, including Chelsea at Portsmouth on Tuesday and Arsenal at Newcastle United on Wednesday.