Johan Manzambi's first-half stoppage-time goal put Villa ahead after Tottenham were briefly down a man while Micky van de Ven received treatment for an elbow to the face.
2-0 became 3-0 in the second half as Nicolas Jackson and Emi Buendia punished Spurs after a strong opening spell in which Zion Suzuki made four first-half saves.
Tottenham's first league goal of the season was delayed when Mohammed Kudus had a finish ruled out by VAR for offside, before Conor Gallagher and Jan Paul van Hecke scored late to trim the deficit.
Pedro Porro also went off early with an apparent soft-tissue injury, and the 3-2 defeat leaves Spurs in the relegation zone heading into the three-week international break.