JAfter dominating the first half without managing to make a breakthrough, Spurs went ahead in the 57th minute when Jermain Defoe nutmegged Brad Guzan to register his 14th goal of the season.
Bale – who had already gone close twice – then stole the show, netting in the 61st, 73rd and 84th minutes to take his own tally for the campaign to 10.
The result ensures Tottenham keep up their push for Champions League football, moving them up to fourth in the table, level on points with fifth-placed Everton and sixth-placed West Brom, who had both won earlier in the day.
The picture is somewhat different for Villa, who had been looking to bounce back from the 8-0 mauling they suffered at Chelsea three days ago but instead were beaten comprehensively once again and remain only three points above the relegation zone in 16th place.
After being run completely ragged at Stamford Bridge, Villa were under heavy pressure from the off against Spurs, who went close in the 11th minute when Bale saw a curling effort from outside the box kept out by a fine diving save from Guzan.
The hosts almost paid for giving the ball away in the 23rd minute as Tottenham broke forward and Aaron Lennon flashed a cross into the danger zone, which Chris Herd hacked behind for a corner.
Defoe headed the resulting delivery into Guzan’s arms and the American goalkeeper then came out to deny the same player, with Ciaran Clark scrambling the ball behind once again.
Spurs were winning a seemingly endless succession of corners and it appeared to be only a matter of time before they broke the deadlock, but on the half-hour mark an error by William Gallas earned Villa a throw-in that nearly cost the Londoners dear.
It allowed the home side to launch an attack and Joe Bennett fired the ball across goal, with Matthew Lowton just failing to get on the end of it.
Normal service was swiftly resumed as Emmanuel Adebayor nodded a Bale corner goalwards, with Guzan just managing to hold on to the ball.
Adebayor then met Bale’s cut-back with a strike that was blocked by Nathan Baker, but moments later Villa threatened again as Lowton delivered a ball that the sliding Brett Holman could not finish at the far post.
Tottenham were soon back on the front foot and Bale fizzed in a shot four minutes before the interval that Guzan batted away. Villa were forced to replace Baker with Stephen Ireland right at the end of the first half and they began the second with Marc Albrighton on for Ashley Westwood.
There were some encouraging signs for the hosts in the opening minutes after the restart, albeit with Lowton ballooning a shot off-target and Christian Benteke being flagged offside as he brought a save out of Hugo Lloris.
Villa fans’ moods soon darkened, though, as Defoe put Tottenham in front, stabbing in through Guzan’s legs having latched on to Kyle Naughton’s through-ball.
Four minutes later Spurs doubled their lead, taking advantage of some sloppy play by their opponents.
Benteke’s cross was cut out to launch a Tottenham counter-attack which Villa could not halt, with a Bennett tackle sending the ball to Bale, who advanced forward, rounded Guzan and prodded home.
It took a further 12 minutes for Bale to grab another goal and effectively end the game as a contest, the Welshman collecting Lennon’s pass in the box and slotting it into the corner.
He then completed his treble with six minutes of normal time remaining, sending the ball into the roof of the net from substitute Gylfi Sigurdsson’s tee-up.