Roberto Martinez's side showed their character after losing 4-0 to their Merseyside rivals in midweek by coming from behind to claim all three points against a stubborn Villa team.
It was their solitary shot of the first half, but Paul Lambert's team eventually paid the price for sitting too deep as substitute Steven Naismith slid the equaliser into the net on 74 minutes before Mirallas swept a free-kick beyond Brad Guzan from 25 yards out to seal a merited win with five minutes remaining.
Everton are one point clear of Tottenham in fifth spot as they continue their hunt for Champions League football next term.
3' - McGEADY HITS POST: Ball breaks to McGeady, but he is so unlucky to see a swerving shot come back off a post. So unfortunate as Guzan wasn't getting there.
34' - BACUNA OPENER: Bacuna scores for Villa. Lovely pass from Benteke. Great finish through the legs of Tim Howard.
68' - BENTEKE AVOIDS BAGGING OWN GOAL: Benteke almost scores an own goal as the ball flies off his face before dropping narrowly wide. Brilliant free-kick from Baines.
74' - NAISMITH NETS: Naismith slides the ball beyond Guzan from 12 yards out. Finally Everton break the Villa resistance. Lovely pass from Pienaar.
85' - MARVELLOUS MIRALLAS: Kevin Mirallas sends a free-kick into the corner of the net. A quite brilliant free-kick. No chance for Guzan. Everton lead 2-1 late in the game.
89' - NAISMITH HEADER: Naismith heads straight at Guzan from the Pienaar delivery. Should really have been the third Everton goal.
90+2' - ALBRIGHTON SHOT: A dipping effort from Albrighton just beats the bar. Not sure Howard would have got there. A terrific hit from distance.
Manager Roberto Martinez earns his 100th win in English league football, and his 50th in the Premier League. It is his 12th PL win of the season, the most wins he has achieved in a single season in the Premier League (11 in 2011/12).
Everton beat Aston Villa at home for the first time in seven matches, after five draws and two losses since 18 March 2006, when they won 4-1. Everton record ‘the double’ over Aston Villa for the first time in the top flight of English football since 1986/87.
TALKING POINT: Was Fabian Delph late on Ross Barkley before Villa struck the opening goal? Replays showed that it was a fair tackle with Barkley caught dwelling in possession. Was a clean tackle before Benteke played in Bacuna. In the end it mattered not with Everton's quality finally breaking down the visiting team.
MAN OF THE MATCH: Kevin Mirallas (Everton) - A third goal in four Premier League matches for Belgian forward Mirallas, a figure who is clearly in splendid form.
Everton: Howard 6, Baines 6, Jagielka 7, McGeady 7, Mirallas 8, Distin 7, McCarthy 6, Barry 6, Barkley 6, Osman 6, Stones 6..subs: Hibbert 6, Naismith 7, Pienaar 7
Villa: Guzan 7, Bacuna 7, Vlaar 6, Clark 7, Baker 7, Bertrand 5, Westwood 5, Delph 5, Weimann 5, Benteke 5, Holt 5..subs: El Ahmadi 5, Albrighton 6, Tonev 5
MATCH IN A TWEET