- Simon Kjaer (39' OG)
- Harry Kane (104')
- Mikkel Damsgaard (30')
In the first period of extra time, Kane knocked in the rebound after Denmark's Kasper Schmeichel had saved his initial spot-kick attempt to give England the lead and earn them a berth in the Euro final on Sunday.
Bukayo Saka was back in Gareth Southgate's starting XI after making way for Jadon Sancho due to a training injury ahead of England's 4-0 win against Ukraine in the quarterfinals, while Denmark made no changes from a last-8 victory over the Czech Republic.
Olley: Finally! England exorcise demons with win over Denmark
England came in as favourites to win the Euro from the remaining teams, but Denmark took a surprise lead near the 30-minute mark when youngster Mikkel Damsgaard hit a perfect free kick from distance past Jordan Pickford to make it 1-0.
The goal was the first scored from a direct free kick at this summer's Euro and put an end to Pickford's streak of clean sheets for the entirety of the tournament that lasted for a total of 725 minutes including games before England started their trophy quest.
"It was a top performance," Sterling said. "We had to dig deep, it was the first time we had conceded in the tournament, we regrouped well and showed a great team spirit to win the game.
"We just had to stay patient. We knew that with the aggression we had in the team, the pace, the power, it was a matter of time before we brought them down and we got the penalty in the end.
"It is another step in the right direction. Once we stepped into the dressing room, that is it, over, and we focus on the weekend. Step by step, that's how we do it."
An entertaining end-to-end second half had plenty of action, but very few legitimate chances for either side and the game went to extra time -- a record seventh such occurrence in European Championship history.
Sterling continued to drive into the box and was eventually brought down by Joakim Maehle for the VAR-reviewed penalty that Kane struck poorly and Schmeichel blocked, only for the captain to tuck home the rebound.
The goal, Kane's fourth thus far at the 2020 Euro, puts him level with Gary Lineker for most goals in England's major tournament history with 10.
"Unbelievable -- what a game though, credit to Denmark," Kane said. "We dug deep and we got there when it mattered. We reacted really well -- we're in a final at home, what a feeling.
"We know it's going to be a very tough game against Italy we've had a great tournament so far. One more game to go at home and we can't wait."
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.
England, who are in their first major tournament final since beating West Germany at the 1966 World Cup showcase, now face an Italy side that have won all of their matches thus far.
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 semifinal since their shock Euro 92 win, but their exhausted players left Wembley with socks rolled down and heads held high.