Despite falling to a second straight defeat, Wolves were the better side and should have come away from Molineux with at least a point.
Adama Traore missed the home sides biggest chance after 60 minutes when he was denied by Hugo Lloris.
The victory means Espirito Santo's return to Wolves was a good one, whilst Bruno Lage remains in search of his first win in charge of the Wanderers.
Story of the match
In the first home game of his tenure at Wolves boss, Bruno Lage made one change to the side that lost 1-0 to Leicester City- with Nelson Semedo taking up his original place at right wing-back in place of Ki-Jana Hoever.
Espirito Santo and Spurs, who made 11 changes for their 1-0 UEFA Conference League defeat to Pacos de Ferreira, named the same side that narrowly edged out champions Manchester City last Sunday.
Despite looking impressive from the off, Wolves fell behind when Sa clipped Alli in the penalty area after the English midfielder was threaded through by Steven Bergwijn.
Referee Stuart Atwell was quick to point to the spot- despite claims from the Wolves goalkeeper- before Alli slotted in his first Premier League goal since March 2020.
Moments later and Wolves themselves had a strong case for a penalty to be awarded after Semedo went down after a 50/50 with Oliver Skipp.
Traore's pace was too much for Davinson Sanchez before the winger's cut back made its way to Semedo, who got to the ball before Skipp before going down.
At the disbelieve amongst the home supporters, Atwell quickly waved away the protests and was greeted with a chorus of boos.
Wolves continued to press Tottenham in the first half, with Traore the architect in most of their attacking threats down the left alongside Brazilian Marcal.
The winger caused problems all afternoon for Japhet Tanganga and after beating him on the left, cut the ball back for Raul Jimenez to arrow the ball just over.
Ruben Neves and Francisco Trincao registered shots on target for Wolves from distance- will both failing to force Lloris into tough saves.
Similar to the first half, Spurs nearly made use of a lapse in concentration from the home side when Heung-Ming Son raced through on goal before having his strike deflected wide for a corner.
The attacker was convinced it was a penalty for handball from Max Kilman but a corner was all that was given.
As the hour mark approached at a packed out Molineux, Wolves continue to press the visitors and tested Lloris again from close distance.
Conor Coady's diagonal ball was chested down by Semedo before his cut-back forced Trincao into a stretched strike that was a pretty simple gather for the visiting skipper.
Arguably Wolves' biggest chance fell to the feet of Traore. Like last week, he only had the goalkeeper to beat as he was played through the middle by Ruben Neves but was superbly denied by the experienced Lloris.
The feeling of regret amongst all these missed chances started to settle in within the Molineux faithful and it was nearly a two-goal deficit when Son and Bergwijn both had chances to score.
Bergwijn's left-footed strike was saved by the diving Sa before the Portugeuse goalkeeper didn't know much about Bergwijn's attempt from close range.
The moment not many would have anticipated came when Harry Kane was introduced with 20 minutes to go. Kane, who has made it clear of his intentions to leave the club, replaced Son and was greeted with cheers from the Spurs following.
In the final moments of game, Wolves struggled to muster another opportunity. Despite pilling the pressure onto the Spurs defence by bringing Fabio Silva on, the home side couldn't break down the stubborn defence.