The Foxes were on the brink of knocking us out of the competition for the second successive season as they led 2-1 going into the final minutes of this third round tie, but we were awarded an 89th-minute penalty which Kane, who only came off the bench 20 minutes earlier, confidently tucked away.
It was no more than we deserved after dominating for long spells of the game, taking the lead through Christian Eriksen before a goal either side of the interval from Marcin Wasilewski and Shinji Okazaki put Leicester ahead. But it looked like the visitors were going to hold on before Kane’s spot kick.
Mauricio Pochettino made seven changes from the side which drew at Everton last weekend, with Michel Vorm, Kevin Wimmer and Josh Onomah among the starters and Danny Rose captaining the team, while Leicester themselves fielded only three players who featured in their side that drew with Bournemouth a week ago.
We were quickly out of the traps and enjoyed plenty of the ball in the early stages, with full-backs Rose and Kieran Trippier heavily involved down both flanks. One such occasion on seven minutes saw Wimmer find Rose with an excellent pass over the top, Rose fizzed in a cross but there was no-one on hand to convert.
However, we were ahead two minutes later. Tom Carroll found Onomah with a smart pass from deep and the young midfielder touched it on to Nacer Chadli who let fly from just inside the area. Goalkeeper Kasper Schmeichel parried, but only as far as Eriksen who took one touch and stroked the ball into the bottom corner.
The Dane went close on 16 minutes, curling a 25-yard free-kick over the Leicester wall, but his compatriot in the visitors’ goal punched well clear and instead it was the Foxes who struck next. New signing Demarai Gray whipped in a corner which was met by Wasilewski, who glanced a header past Vorm and into the net.
We almost responded immediately though as Heung-Min Son showed good strength to win possession near the byline on the left and cut back for Eriksen 18-yards out, but Schmeichel saved well.
Although we were dominant in possession, Leicester still had chances and one came on 24 minutes when Vorm raced off his line to clear ahead of Leonardo Ulloa, only for the ball to fall to Andy King 40 yards out. He attempted a lob but our Dutch goalkeeper was back in time to gather.
A succession of long-range efforts followed in the final 15 minutes of the half, Chadli forcing Schmeichel into a save, Trippier hitting a rising drive over the bar and Eric Dier testing the Foxes' keeper from distance.
The final chance of the first period went to the visitors as N’Golo Kante rode a couple of tackles and found Gray who attempted a 25-yard drive, but it deflected off Toby Alderweireld and was comfortable for Vorm.
Leicester made a change at the break with Okazaki replacing Kante and within three minutes of the restart the new arrival was on the scoresheet. He collected a pass from Andy King on the edge of the area, went past Carroll and Alderweireld and, while Vorm saved his initial effort, the ball came straight back to the striker and he prodded home.
Again we responded well to the setback, Chadli heading over a difficult chance before Son saw an effort blocked by Wasilewski and then Chadli weaved into the area, only to see his shot saved. At the other end, Nathan Dyer received a pass from Ulloa but dragged his drive just wide of Vorm’s far post.
Leicester so nearly extended their lead on 64 minutes when Gray picked up possession wide on the left, cut inside Trippier and unleashed a drive which took a slight deflection and just went wide.
Changes came to our line-up on 68 minutes with Kane and Nabil Bentaleb replacing Carroll and Dier respectively, with Dele Alli entering the fray a few minutes later for Chadli as we looked to maintain our FA Cup status for the season.
We continued to enjoy the greater share of possession but just couldn’t turn that into clear-cut chances as the visitors dropped deep and protected their lead, looking to hit us on the counter when they won the ball back.
Patient build-up on 81 minutes ended with Alderweireld striking an effort over the bar from 25 yards and moments later Onomah had a shot deflected out for a corner as the pressure mounted, but the equaliser seemed to be evading us.
One almost came from the boot of Bentaleb on 86 minutes - his curling left-foot shot was heading for the top corner until Schmeichel’s fine diving intervention. And when Alderweireld hit another long pass to Alli inside the area, his back-header looked like it might be going in but it bounced just past the post.
And then the late drama! Rose picked up the ball down the left channel of the area and cut back onto his left foot to go past Dyer, whose hand knocked the ball away and referee Robert Madley pointed to the spot. Up stepped Kane, who drove past Schmeichel to level the scores.
Both sides went for the winner but there wasn’t enough time and we’ll do it all again at the King Power Stadium in the replay.
Spurs (4-2-3-1): Vorm, Trippier, Wimmer, Alderweireld, Rose (c), Dier (Bentaleb 68), Carroll (Kane 68), Chadli (Alli 73), Onomah, Eriksen, Son. Substitutes (not used): Lloris, Davies, Lamela, Winks.
Leicester (4-3-3): Schmeichel (c), De Laet, Wasilewski, Benalouane, Chilwell, Inler, Kante (Okazaki 46), King, Dyer, Ulloa, Gray (Albrighton 65). Substitutes (not used): Schwarzer, Drinkwater, Morgan, Simpson, Mahrez.
Goals: Spurs - Eriksen 9, Kane 89 (pen); Leicester – Wasilewski 19, Okazaki 48.
Yellow cards: Spurs – Bentaleb; Leicester – Wasilsewski, Schmeichel.
Referee: Robert Madley.