The 21-year-old reacted quickest, after Miguel Almiron’s effort was cleared off the line, to fire into the roof of the net and deny Spurs a place in the top four for the first time since 2 January.
In an entertaining game Newcastle took the lead when Joelinton slotted home a lovely threaded pass from Sean Longstaff after Spurs were guilty of overplaying at the back.
Jose Mourinho’s side responded within 90 seconds as the hosts, and in particular Emil Krafth, failed to clear in the area, and an alert Kane prodded home for his 18th goal of the campaign.
The visitors were leading four minutes later when Kane, fed by a brilliant reverse pass from Tanguy Ndombele, clinically fired across Martin Dubravka from the right-hand corner of the penalty area.
The 27-year-old almost got a third, moments before Willock’s goal, but his effort cannoned into the base of the post and behind.
Newcastle – who have now only won two of their past 19 Premier League games – remain 17th, but have a three-point advantage over Fulham who occupy the final relegation spot after the Cottagers lost 3-1 at Aston Villa.
Tottenham, who conceded a 97th-minute equaliser against Newcastle earlier in the season, move up to fifth – above Liverpool and West Ham – but remain two points behind Chelsea who are in the final Champions League spot.