Our in-form striker scored his 24th goal of the season in the dying seconds, poking in from close range after Hammers goalkeeper Adrian had saved his penalty in the most dramatic of conclusions to the game. That made it 2-2 after the visitors had taken a two-goal advantage through Cheikhou Kouyate and Diafra Sakho.
It had been a below-par performance from us on the day and we were staring defeat in the face, but Danny Rose pulled a goal back on 81 minutes to set up a grandstand finish, duly completed by Kane’s late goal.
It wasn’t a frenetic opening to the contest but the game was certainly played at a nice tempo with both sides looking to get forward as often as possible. And we went close with one early foray in the sixth minute, created by some typical endeavour from Kane.
A long ball looked to be heading out for a goal kick but Kane chased it down and kept it in for Andros Townsend, who cut inside and laid the ball in to Nabil Bentaleb. The midfielder tried a shot from 25 yards which needed a fine diving save from Adrian to prevent it flying in the top corner.
Five minutes later we went even closer, as Danny Rose clipped a pass over the Hammers defence for Kane, he got to the ball first and stretched out a leg to poke it past Adrian but it rolled against the outside of the post and away for a goal kick.
The Hammers had their first effort on 17 minutes but Aaron Cresswell was well wide from 30 yards and a minute later they were back on the offensive thanks to a lucky break, Sakho pouncing on a loose ball after Eric Dier’s clearance hit Ryan Mason and nodding it past Hugo Lloris but the keeper got a touch on the ball and we were able to clear the danger.
But we fell behind on 22 minutes after Mousa Dembele gave the ball away on the edge of the area, West Ham worked it to Cresswell who clipped over a cross for Kouyate to power a header past Lloris.
It was then our turn for a couple of chances as the momentum shifted again, Jan Vertonghen smashing a volley over the bar after Bentaleb’s flicked header from Townsend’s corner was cleared away. Two minutes later, a lovely chipped ball over the defence from Kane found Rose coming in off the flank, he got to the ball ahead of Adrian but sent his header just over.
Lloris then needed to be alert, quickly off his line to deny Enner Valencia from another cross from the left, before we broke away through Erik Lamela and Kane, the latter finding Mason who drilled wide from 25 yards.
There were few chances in the closing stages of the first period, Mark Noble probably having the best when his volley was well blocked by Kyle Walker, and we went into the break trailing.
We made a change for the second period with Christian Eriksen coming on for Dembele, but it was the visitors with the first chance of the half, Sakho cutting in from the left but seeing his shot blocked, while Mason had a sight of goal from 25 yards but his effort was straight at Adrian.
It should have been 2-0 to the visitors on 59 minutes when Noble threaded a ball between the defence for Sakho, through on goal down the right side of the area with just Lloris to beat, but it was our goalkeeper who came out on top with a fine close-range save to divert the ball into the side-netting.
Three minutes later though, the visitors did double their advantage as Noble delivered a cross to the far post which eluded Valencia but Sakho was there to fire high into the net from a tight angle. And it could have been worse on 67 minutes when Noble’s free-kick was headed down by Winston Reid, Valencia prodded goalwards but Lloris denied him with a close-range save.
We did have the ball in the net on 76 minutes, Kane slamming home at the second attempt after Lamela’s shot was deflected, but the assistant’s flag was up early and it was ruled out for offside. Adrian then denied Eriksen, diving full length to his left to keep out another wonderful free-kick from the Dane.
But when the ball hit the back of the net with nine minutes remaining, this time it did count. Lamela and Eriksen played a short corner, the Argentine whipped in a cross which Adrian punched clear but only to Rose 22 yards out and his shot hit the ground, bounced up and over the Hammers keeper and into the net.
That raised the noise levels inside the Lane and they increased more as we went in search of the equaliser. It almost came on 83 minutes when substitute Nacer Chadli latched onto the ball in the area and set up fellow sub Roberto Soldado, his shot arrowing towards the corner before Adrian’s fine intervention.
Five minutes of injury time were added on and apart from a Kane blocked shot, there was little sign of an equaliser... and then came the late, late drama. Eriksen picked the ball up just outside the area and tried to bundle his way through the massed defence, the ball squirted loose to Kane who advanced into the area, only for Song to bundle him over.
Referee Jon Moss pointed to the spot, with literally seconds left on the clock. Up stepped Kane as the Lane held its collective breath, only for Adrian to guess correctly and save his spot kick. But our luck was in as the rebound fell straight to the in-form striker, who wasn’t going to miss a second time and tucked home the equaliser.
There was only just time to restart the game and as the whistle blew, the Lane celebrated another late goal. There have been a few this season... but none as late as that!
Spurs: Lloris, Walker, Vertonghen, Dier, Rose, Mason (Chadli 80), Bentaleb, Townsend (Soldado 60), Dembele (Eriksen 45), Lamela, Kane. Substitutes (not used): Vorm, Davies, Fazio, Stambouli.
West Ham: Adrian, Jenkinson, Reid, Tomkins, Cresswell, Song, Kouyate, Noble (Cole 68, (Collins 87)), Downing, Sakho, Valencia (Jarvis 75). Substitutes (not used): Jaaskelainen, O’Brien, Demel, Nolan.
Goals: Spurs – Rose 81, Kane 90+6; West Ham – Kouyate 22, Sakho 62.
Yellow cards: West Ham – Noble, Cresswell.
Referee: Jon Moss.