Villa responded positively after conceding with a deflected Gabby Agbonlahor effort, a lovely strike from Ashley Westwood and chance from captain Micah Richards all going close.
But the Toffees scored a second in the 30th minute as Aaron Lennon rounded off a superb counter-attack, coolly finishing a Mirallas cross, to put the team from Merseyside in complete command.
The visitors nearly made it three soon after but Bryan Oviedo's effort was cleared off the line by former Toffee Joleon Lescott.
On the hour-mark, Romelu Lukaku all but ended the match when he was allowed to get free in the six-yard box to thigh home Funes Mori's cross from the right for his 17th of the season.
With 15 minutes remaining Villa's night was made worse when the home fans sparked a mass walkout but despite that distraction, Rudy Gestede pulled one back on 79 minutes when he powered home a fine header from Jordan Veretout's right-flank cross.
In the end though, Villa boss Remi Garde watched on in anguish as his beleaguered team lost yet again with this latest result forcing them to start planning for life in the Championship.
For Everton, it was a third win in their past four league outings which has them sitting 10th on the table.
2015/16 Barclays Premier League - season scores