The Three Lions had lost their only previous two semi-finals in the competition – against Yugoslavia in 1968 and Germany in 1996 – but Kane stroked home after his initial penalty had been saved by Kasper Schmeichel in the 104th minute to ensure they will face Italy in the Euro 2020 final on Monday (AEST).
Mikkel Damsgaard had put Denmark ahead on the half-hour mark with a superb free-kick before Gareth Southgate’s side pulled level before the break when Simon Kjaer bundled into his own net under pressure from Raheem Sterling.