Saints began the match brightly and took the lead on 15 minutes when Spurs defender Davinson Sanchez turned Ryan Bertrand's cross into his own net.
But the visitors responded well and, after Eric Dier hit the post, they equalised on 18 minutes through Kane's header from a Ben Davies corner.
Both sides went for the winner in the second half, Kane and Dele Alli shooting wide, while 17-year-old Saints substitute Michael Obafemi, making his Premier League debut, could not make a strong contact on Dusan Tadic's late cross.
Spurs stay in fifth, two points behind fourth-placed Liverpool, who play on Monday night, while Southampton remain in the bottom three, one point from safety.
Southampton: 31 Jan v Brighton (H)
Spurs: 31 Jan v Man Utd (H)