The game started brightly for the visiting Villans, as Benteke strode past the static Heitinga to slide a shot past Howard from an Agbonlahor cross.
The home side had two quick chances to equalise, as Fellaini shot just wide of Guzan’s right post before the Villa keeper patted down an effort by Anichebe.
Benteke continued to threaten and had a shot deflected just before Everton equalised, thanks to Anichebe, who turned Clark and fired the ball in with his left foot.
Heitinga was having an afternoon to forget: after a corner was only partially cleared, Agbonlahor outjumped the Dutch international to head home at the far post.
After the break, the Dutchman attempted to head the ball but instead connected with Jagielka.
Fellaini then collided with Guzan before Villa had a great chance to net their third goal of the afternoon but Weimann blazed the ball over the bar with only Howard to beat.
Some clever passing saw Weimann make amends as he enabled Lowton to send Benteke a curling cross, which the Belgian nodded in at the near post.
Home fans booed the departures of Mirallas and Heitinga – for very different reasons – but Moyes’ changes seemed to have the desired effect.
Fellaini enjoyed some clever exchanges with Anichebe before shooting a return pass past Guzan, with the aid of a minor deflection.
With Villa set for a much-needed win, Fellaini inflicted more misery, with his header in the third minute of injury time ensuring that the spoils were shared.
The Villans will be devastated with the result, having been the better team for 70 minutes this afternoon, posing plenty of problems for the Toffees and proving threatening on the counter-attack. In the end, it was poor defending from Baines’ late corner that allowed Fellaini to score, showing the need for more work on set pieces at Bodymoor ahead of the visit of West Ham to Villa Park next Sunday.