Rodrigo Bentancur's equaliser ensured Spurs avoided a third successive defeat in all competitions
Spurs knew victory would guarantee a place in the last 16 but they laboured for long periods before being denied a last-gasp winner when Harry Kane's strike was ruled out for offside with manager Antonio Conte shown a red card in the ensuing chaos.
In a tense encounter, former Spurs youngster Marcus Edwards gave Sporting a deserved 22nd-minute lead with a fine low shot as they punished Conte's side for a poor first-half display that brought loud jeers from the home fans.
Spurs were much improved after the break but they were grateful to a crucial save by keeper Hugo Lloris from Sporting substitute Flavio Nazinho, who also shot wide with the goal at his mercy.
They took advantage of those two escapes as Rodrigo Bentancur rose to head home from a corner 10 minutes from time - and in a hectic finish both sides had opportunities to win.
Kane thought he had snatched it with virtually the last kick - only for VAR to decide otherwise.
Spurs were left regretting the intervention of VAR that denied them the win but they must also rue another slow start that allowed Sporting to take control for the first 45 minutes.
The increasingly rebellious mood inside the Tottenham Hotspur Stadium was reflected in the angry reaction from supporters who had grown frustrated at a series of aimless and misplaced passes allied to a lack of urgency.
It was all so different after the break as Spurs came to life, finally applying pressure on Sporting and forcing keeper Antonio Adan into action.
They still looked vulnerable, however, and Lloris - rightly criticised for his errors in the home defeat against Newcastle United on Sunday - came to the rescue with that crucial save from Nazinho, although the Sporting forward should have made no mistake with a second chance which he steered wide of an open goal.
Spurs, having got themselves back into the game, had chances to get the three points that would have made the trip to Marseille a formality but Eric Dier and Bentancur could not find the target.
The game ended in a melee, with Conte being sent off after wildly celebrating what he thought was the goal that secured the knockout place when Kane swept home Emerson Royal's knockdown.
Spurs have work to do in Marseille and they must learn the lessons of being punished for leaving it late to kick into gear.
It was perhaps inevitable that Marcus Edwards would score on his return to Spurs, the club where he could not make the breakthrough despite his talent.
The 23-year-old is fulfilling his potential in Lisbon and followed up a fine performance in the first group game, which Sporting won 2-0, with another display rich in promise here.
He was a constant threat until he faded after the break, threatening several times in the first half and giving Sporting the lead with a low short drilled beyond Lloris as Spurs paid the price for standing off.
Edwards is now bolting on attitude to ability and will have impressed all observers, and those who remember him from his unfulfilled Spurs career, with how he performed here.
-- Courtesy of BBC Sport