The Lilywhites began the game in tepid fashion and were deservedly a goal down at the break courtesy of former academy prospect Marcus Edwards, but Rodrigo Bentancur equalized with 10 minutes remaining before Harry Kane had seemingly won the game for the hosts in the final embers.
However, a lengthy VAR review saw the England captain's goal chalked off for the tightest of offsides, sparking fury from those in white as Antonio Conte was sent off.
Neither goalkeeper was truly threatened during a placid start to the game, with Sebastian Coates heading over the top from a corner before the reintroduced Lucas Moura took a heavy touch when one on one with Antonio Adan.
The Brazilian was flagged offside anyway, but that was one of a handful of half-chances Tottenham had in front of the Sporting fans, as Conte's side struggled for attacking inspiration again.
Meanwhile, Pedro Porro was proving to be a livewire on the right-hand side for the visitors, as Paulinho got in front of Cristian Romero to meet the Spaniard's cross before firing over.
How Tottenham could have done with a player like ex-youth product Edwards, who terrorized Conte's defence in Lisbon earlier this month and deservedly broke the deadlock for Sporting with 22 minutes on the clock.
The 23-year-old was allowed to surge forwards unchallenged as Tottenham backed off, and he accepted the invitation to shoot. His 20-yard effort was not the most venomous, but it was perfectly placed into the far corner beyond the reach of a sprawling Hugo Lloris.
A sustained period of possession followed for Sporting, who faced no real urgency from Tottenham as the half drew to a close, and groans of discontent started to grow louder from the home crowd.
Whatever choice words Conte had for his players at half time clearly had the desired effect, as Spurs came out gung-ho in the second half, and Adan was forced to beat away a well-hit volley on the turn from Eric Dier.
Sporting had weathered the early storm with their one-goal lead still intact, but Adan was called upon again to keep out a half-volley from Matt Doherty at his near post as the game entered its final 20 minutes.
Lloris was soon called into action too, as substitute Flavio Nazinho was denied by the Frenchman following a counter-attack before being presented with another chance to double Sporting's lead from Porro's parried effort, but he fired wide with most of the goal gaping.
That pair of missed chances would end up proving costly, as Bentancur rose highest to meet Ivan Perisic's corner and head home in the 79th minute to level for Tottenham, with Adan coming out to meet the delivery but failing to outjump the Uruguayan.
Tottenham soon had their tails up, but frustration was then on the menu as former Sporting defender Dier could only direct a deft header wide from Son Heung-min's inch-perfect free kick.
Lightning struck twice for Dier only moments later, with a glancing header from only a few yards out sailing just wide of the post before Lloris parried Abdul Fatawu Issahaku's out for a corner, which came to nothing.
Deep into the fifth minute of added time, a deflected effort from Emerson Royal on the right fell kindly into the path of Kane, who could not miss from close range, but technology would serve to spoil the mood.
After a review which lasted a good few minutes, the motion of Felix Zwayer's arms delivered the painful news to Tottenham, as Kane was ruled to have been offside and the goal was chalked off.
Conte was sent to the stands in the aftermath as Tottenham collected another point in their efforts to make the knockout rounds, and they remain top of the group after that draw, one point clear of Sporting and Eintracht Frankfurt, who beat Marseille 2-1.
Tottenham travel to face Marseille next week needing a win to ensure a spot in the last-16, as Sporting aim for the same at home to Frankfurt.