John McGinn had put the visiting side a goal ahead early on and Spurs were frustrated by goalkeeper Tom Heaton, who made a number of good saves.
But the hosts finally levelled on 72 minutes through Ndombele before Harry Kane put Spurs ahead four minutes from time. Kane then sealed the win with his second in added time.
Villa had handed debuts to four players as Tom Heaton, Bjorn Engles, Trezeguet and Wesley all got the nod.
After Lucas Moura missed a fine chance to put Spurs ahead, it was Villa who took a surprise lead in the ninth minute.
Tyrone Mings’ long ball up field found McGinn, who held off the challenge of Danny Rose to shoot low past Hugo Lloris.
Kane headed over just before half-time as Villa went in 1-0 ahead.
Spurs were knocking on the door early in the second half as Moussa Sissoko fired a shot wide and Kane had an effort blocked.
And Tottenham finally found an equaliser in the 73rd minute through debutant Ndombele.
After Heaton pushed away Davinson Sanchez’s header, the ball came to Ndombele and the midfielder curled an effort into the back of the net.
Kane put Spurs ahead in the 86th minute, firing home from close range after Eric Lamela’s low shot was deflected into the striker’s path.
He then added his second in added time to put the result beyond doubt and complete the comeback.