Van der Vaart scored twice to take his tally to four goals in three appearances at White Hart Lane, his £8million signing looking more of a bargain by the day.
Not for the first time after a Champions League match this season, Spurs paid for a slow first half and Marc Albrighton's first Villa goal almost handed the visitors a half-time lead but Van der Vaart levelled deep into stoppage time before rifling home a 75th-minute winner to end Gerard Houllier's winning start as Villa boss.
It was a virtuoso performance by the transfer-deadline-day capture from Real Madrid following his Jekyll-and-Hyde display against FC Twente in midweek, demonstrating just how much he will be missed for this month's trip to Inter Milan.
Tottenham fielded a makeshift centre-back partnership today of Tom Huddlestone and Sebastien Bassong, their 10th in 12 games this injury-blighted season, after Ledley King failed a late fitness test.
Even with King available on Wednesday night, Spurs looked too open for comfort at times and today's line-up appeared even more attack-minded.
And they should have been ahead inside five minutes today when Roman Pavlyuchenko nodded over Luka Modric's left-wing cross.
But Villa began to take control of the game and, after a couple of half-hearted penalty appeals, they went ahead.
Terrible defending from Bassong saw him robbed by Emile Heskey down the right and the revitalised former England striker sprinted along the byline before crossing for Albrighton to slide home.
Spurs screamed for a penalty themselves 22 minutes in when Pavlyuchenko's shot hit the recalled Richard Dunne's hand but it was not intentional and Alan Hutton sent the follow-up into the side-netting.
Ashley Young was needlessly booked for deliberate handball and Villa suffered a second blow when lone frontman Heskey limped off to be replaced by John Carew 10 minutes before the break.
Pavlyuchenko wasted another chance to score four minutes later, hooking Gareth Bale's excellent low cross wide from six yards.
Carew and Young both fired over from 20 yards, Brad Friedel was almost caught out by Van der Vaart's skidding effort, Albrighton was cautioned for a foul on Hutton and Young sent a shot on the turn straight at Heurelho Gomes.
Van der Vaart then levelled three minutes into stoppage time when he climbed above Dunne to nod home after Peter Crouch had headed Pavlyuchenko's ball back across goal.
The Holland midfielder was moved from the right into a more central role after the restart, with Pavlyuchenko withdrawn for Aaron Lennon.
The change almost paid dividends in the 51st minute when Lennon stood a cross up for Crouch once again to nod down but Van der Vaart was somehow beaten to the ball by a desperate Stiliyan Petrov lunge.
Van der Vaart saw his next effort blocked by Dunne after being found in acres of space by Bale as Tottenham began to crank up the pressure.
But Villa remained a threat on the break and Huddlestone was looking uncomfortable up against Carew, with the striker and Albrighton both inches from connecting with Young's dangerous cross.
Crouch should have put Spurs ahead 20 minutes from time when he powered a header over the bar after Huddlestone had flicked on Modric's corner.
Moments later, Lennon forced a fine stop from Friedel with a low angled drive and, when he stood up another dangerous cross - this time with his left foot - 15 minutes from time, Spurs took the lead.
Crouch once more claimed the knockdown and this time there was no stopping Van der Vaart as he kept his cool to blast the ball past Friedel.
Harry Redknapp withdrew Modric for Wilson Palacios and Villa soon made a double change, throwing on Stephen Ireland and Barry Bannan for Petrov and Albrighton.
Dunne nodded a late corner off target and James Collins was booked for felling Lennon in full flight, only escaping a straight red by covering defenders.
Lennon was rampant and his latest cross found Hutton, whose shot was blocked before Van der Vaart was substituted to a standing ovation in the final minute, Sandro coming on to make his Premier League debut.
Source: Team Talk