Dour draws, penalty drama and Netherlands glory - England's road to Euros final
England will play Spain in the Euro 2024 final on Sunday after beating the Netherlands 2-1 in their semi-final on Wednesday evening.
Let's take a look at the route Gareth Southgate's side have taken to the Olympiastadion.
Serbia 0 England 1 (Group C, June 16)
Jude Bellingham's 13th-minute header proved the difference as England opened their campaign with a hard-fought victory over Serbia in Gelsenkirchen.
Harry Kane had a late header saved onto the bar before Jordan Pickford made a great stop to deny Dusan Vlahovic from distance, with 'Sweet Caroline' echoing around the ground at full-time.
Denmark 1 England 1 (Group C, June 20)
Southgate's side again took an early lead in their second group match, this time through captain Kane after Kyle Walker had caught Victor Kristiansen napping.
But, as against Serbia, they wobbled after going ahead and Morten Hjulmand's belting 30-yard shot in off the foot of a post drew Denmark level as ragged England fumbled their chance at early progress in Frankfurt.
England 0 Slovenia 0 (Group C, June 25)
England progressed to the knockout phase as group winners, but fans again expressed their frustration after Southgate's side were held to a draw by stubborn Slovenia.
The Euro 2020 runners-up bossed possession against well-drilled opposition but were unable to turn their dominance into a morale-boosting victory as the Cologne clash ended goalless and with more groans.
England 2 Slovakia 1 (last 16, June 30)
Ivan Schranz's low 25th-minute strike into the bottom corner had looked set to secure wily, well-organised Slovakia their biggest win as an independent nation and dump England out of the competition.
However, in the fifth of six minutes' stoppage time, Bellingham produced a moment of magic, scoring an incredible overhead-kick to send the match to extra time.
And, less than 60 seconds into the additional period, Kane completed the turnaround. Eberechi Eze's shot into the ground was smartly headed on by fellow substitute Ivan Toney and the skipper nodded home at the far post in front of the England section.
England 1 Switzerland 1 - England win 5-3 on penalties (quarter-finals, July 6)
Bukayo Saka cancelled out Breel Embolo's opener to take the last-eight tie to extra time and onto penalties, with the Arsenal star converting to bury the ghosts of his Euro 2020 final miss.
Cole Palmer, Bellingham and Toney were also successful from 12 yards before Trent Alexander-Arnold wrapped up a 5-3 triumph for England after Jordan Pickford had saved Manuel Akanji's first spot-kick.
Netherlands 1 England 2 (semi-finals, July 10)
Ollie Watkins struck at the death to send England to their second successive European Championship final as Southgate's side dug deep to see off the Netherlands.
Harry Kane's controversially-awarded spot-kick cancelled out a superb Xavi Simons opener before Watkins stepped off the bench and wrote his name into the history books by sealing a 2-1 triumph in the 90th minute.