Tim Cahill scored a brace as Everton ran out 4-1 winners at Goodison Park but the Toffees made the game anything but easy.
Everton were attempting to maintain their late push on the UEFA Cup place by also avenging the 4-0 hammering they took at Villa Park on Boxing Day.
Everton endured a nervy first minute thanks to a series of poor clearances, but despite the ball pinging around the Everton goalmouth, Villa could not find the net and Everton soon settled down.
Villa looked to have done their homework though and closed down the Everton midfield competently.
New kid Gabriel Agbonlahor looked strong and pacy and not at all out of place upfront alongside Luke Moore.
As often is the case with early kick-offs the atmosphere in the ground was a little subdued, but James McFadden's goal on 14 minutes sparked life into both the crowd and the game.
Alan Stubbs' long ball found James Beattie, who headed down for McFadden to fire past a helpless Thomas Sorensen.
A minute later Leon Osman's mazy run could have made it two, but his shot was hit straight at the keeper.
Villa refused to lie down and Gary Naysmith was in the right place at the right time to clear after Liam Ridgewell almost levelled.
McFadden then headed off the line after Steven Davis' shot.
Everton went 2-0 up though after 21 minutes as a Phil Neville long throw found Beattie, who with a cleaver back header caused panic in the Villa area and Cahill was first to nip in and take advantage of the melee.
Craig Gardner showed his frustration on 25 minutes with a messy challenge on Naysmith which earned him the first yellow of the game.
Cahill blotted his copy back as he received a yellow card for a needless foul on Wilfred Bouma.
Aaron Hughes was replaced by JLloyd Samuel on 30 minutes as David O'Leary tried to shake up his increasingly hapless side.
However, Osman hit in a third just before half-time as Everton threatened a rout.
Mikel Arteta was released on the flank to run into Sorensen's area and, evading a Samuel challenge, he put a lovely ball across the goalmouth for Osman to fire in.
Cahill nearly made it four on 50 minutes as he headed narrowly wide from an Arteta cross.
Villa looked bereft of ideas at an early stage as they hit a number of long balls upfield. Everton looked far more incisive with the impressive Arteta turning Villa's defence inside out.
Villa managed a shot on target after 56 minutes from Gavin McCann but all of their play seemed half-hearted.
The ever impressive Arteta was given a standing ovation as he made way to Kevin Kilbane on 57minutes.
Youngster Agbonlahor snapped up an unlikely goal for Villa on 65 minutes as substitute Lee Hendrie played him into the box to fire past Richard Wright.
The Villa players couldn't believe it themselves but Everton have always had a knack of making things difficult for themselves.
Agbonlahor could have had a second but for the alertness of keeper Wright.
Villa sensed Everton's growing unease and Moyes was left scratching his head on the touchline wondering how his charges could look so edgy after all but killing the game off.
Everton seemed to be sitting so deep they were positively inviting Villa to attack with only the occasional Kilbane run breaking up play.
Wright gratefully collected a McCann header on 84 minutes to keep the score at 3-1.
Everton seemed to be trying to give Villa a goal on 87 minutes as the defence collapsed and Villa players tried desperately to scramble the ball over the line.
It wasn't to be though and the game was wrapped up by Cahill, who put the results beyond doubt as the free-kick he earned resulted in the fourth goal.
McFadden made a cleaver back pass after receiving the ball which Cahill collected and buried into the Villa net from ten yards.