Harry Kane dispatched a controversial penalty in extra time at the second attempt as hosts England advanced to a final against Italy at Euro 2020 after seeing off Denmark at Wembley.
England fell behind after 30 minutes when Mikkel Damsgaard curled in a brilliant 25-yard free-kick after Luke Shaw fouled Andreas Christensen.
England were behind for just nine minutes though as they levelled thanks to a Simon Kjaer own goal.
Bukayo Saka was sent free on the right and his low cross was turned into his own net by Kjaer from close range with Raheem Sterling ready to pounce.
England went ahead from the penalty spot in the 104th minute as Kane completed the comeback after Sterling went down in the box under minimal if any contact.
The striker's penalty was saved by Kasper Schmeichel but he converted the rebound to give England the decisive advantage.
We need your consent to load this comcast-player contentWe use comcast-player to manage extra content that can set cookies on your device and collect data about your activity. Please review their details and accept them to load the content.Manage Preferences
The home side were on top throughout but struggled to break down the battling Denmark defence until they were awarded that extra-time penalty.
It was a tough way for Denmark to end their emotional ride from the fear and distress of Christian Eriksen's opening game collapse to their first semi-final since their shock Euro 92 win, but their exhausted players left Wembley with socks rolled down but heads held high.
England will return on Sunday, 55 years after lifting the World Cup there, but they did it the hard way.
They had reached the semis without conceding a goal and it needed something special to pierce their rearguard as Damsgaard fired a powerful, dipping 25-yard free kick over the wall and beyond the diving Jordan Pickford - the tournament's first goal direct from a free-kick - after 30 minutes.
The crowd were stunned, that had not been in the script, and the question of how England would respond to their first real taste of adversity would now be addressed.
The answer was calmly and patiently, as they passed their way back into the ascendancy. Sterling was denied at point-blank range by Schmeichel before the 39th-minute equaliser, when Saka hit the byline and fizzed over a low cross that Kjaer bundled over his own line in his attempt to stop the ball reaching Sterling.
Schmeichel was on hand again with an excellent diving save to palm away a Harry Maguire header and England began to turn the screw.
However, despite all the pressure and relentless passing and probing around the box, England struggled to carve out a clear opening and the match rolled into extra time.
The extra 30 minutes became a virtual attack v defence exercise, as Schmeichel saved again from Kane and Jack Grealish.
Sterling continued to drive into the box and was harshly adjudged to have been brought down by Joakim Maehle for the VAR-reviewed penalty that Kane stuck poorly and Schmeichel blocked, only for the captain to tuck home the rebound.
England then had to negotiate the last 15 minutes and managed it to spark the loudest, and surely most confident rendition of 'Football's Coming Home', ever to ring around Wembley.