But Martin O'Neill's side are still in the hunt as they salvaged a point with a late own goal equaliser from Phil Jagielka
Cahill, who will be playing in the World Cup this summer, notched the vital goals which put Everton in the driving seat only for battling Villa to grab a worthy home point.
On this occasion Villa again battled hard and Gabby Agbonlahor notched his 50th league goal of his career with a 72nd minute equaliser, only for Cahill to grab Everton's second a minute later.
With Everton seemingly heading for victory Villa stormed the opposition and the luckless Jagielka headed into his own goal.
Manager Martin O'Neill kept faith with the side beaten 3-0 by Chelsea in the FA Cup semi-final, but the lack of finishing power was again clearly evident despite Agbonlahor's second-half goal.
When they did get on target they were thwarted by the brilliance of Toffees goalkeeper Tim Howard.
As a result Everton extended their unbeaten run to seven games as they are seemingly intent on finishing the season on a high note.
The early tempo was generated by Villa, Howard smartly keeping out efforts form Stewart Downing and James Milner.
It was therefore something of a surprise when Everton stormed ahead in the 24th minute.
Stephen Warnock conceded a foul on Leon Osman and from Leighton Baines' free-kick Cahill was given a free header to score past a transfixed Brad Friedel for his eighth goal of the season.
Not for the first time at home this season Villa found themselves having to battle to get back into the game.
John Carew carelessly wasted a fine chance of equalising when he sliced his shot wide from close range.
The feature of Everton's play was their ability to defend in depth and the longer the game progressed the more frustrated Villa became in their quest for an equaliser.
Steven Piennar and Osman were dynamos for Everton as they continued to be dangerous whenever they broke onto the attack.
But Everton's hero was Howard. America's number one goalkeeper distinguished himself in the 42nd minute when he brilliantly saved Carlos Cuellar's downward header following a Milner cross.
Everton suffered a setback early in the second half when John Heitinga limped off following a clash with the subdued Agbonlahor.
Agbonlahor headed home Villa's equaliser from a Milner cross for his 15th goal of the season, but Everton replied immediately with Cahill heading home Diniyar Bilyaletdinov's right-wing corner.
In a blistering finish Ashley Young hammered over a hard cross from the left which Jagielka could only turn into his own net.