Harry Kane scored an 85th-minute winner as England fought back from a goal down to beat Croatia 2-1 and secure a place in the Nations League Finals.
A repeat of the 2018 World Cup semifinal seemed set to end in heartbreak for England again when it fell behind to Andrej Kramaric's deflected strike in the 54th minute.
However, substitute Jesse Lingard poked home a close-range equaliser with 12 minutes remaining, setting up a frantic finish as qualification was suddenly up for grabs again.
Captain Kane completed the turnaround, the striker overcoming a mixed performance in front of goal by poking home Ben Chilwell's cross from England's left flank.
Like his team, the striker had appeared set to endure a frustrating outing until his telling contribution; he had scuffed over the top from a corner as well as seeing Tin Jedvaj and goalkeeper Lovre Kaliinic block on-target attempts in a first half the host dominated.
Raheem Sterling twice wasted one-on-one opportunities too, and the misses appeared set to be costly when Croatia struck on the counter.
Kramaric appeared to have wasted the shooting opportunity when he continuously dummied onto the opposite foot, only to eventually pull the trigger with a right-footed effort that found the net via a crucial touch off Eric Dier.
However, England took the direct route to find an equaliser, Joe Gomez's long throw flicked on by John Stones and while Kane's stabbed attempt was partially blocked, Lingard was in the right place to provide the finishing touch from under a yard.
The Manchester United forward popped up on his own goal line to make a crucial intervention in defence, hacking clear Domagoj Vida's header from a corner, before Kane struck, his finish on the stretch relegating Croatia from the top tier and gaining a modicum of revenge for the 2-1 loss in Moscow in July.
What does it mean? National pride comes through
The Nations League may not be loved by all just yet, but the possible outcomes in League A Group 4 of UEFA's competition made for a far greater spectacle than any high-profile friendly.
Croatia was jaded after its efforts in a 3-2 home win over Spain on Thursday yet fought valiantly throughout, while the must-win nature of the fixture inspired England to produce a memorable fightback in front of its fans. It may not be a major trophy, but it clearly mattered to Gareth Southgate and his players.
O Captain! My Captain!
Kane had not scored in 747 minutes of international football before his stabbed finish sent England through to the last four. He was not alone in looking out of sorts, Sterling's finishing will once again come under the spotlight, but showed perseverance pays off by popping up at the end to score with his fifth shot of the match.
Sterling lacked value in front of goal
A key cog under Pep Guardiola at Manchester City, Sterling's England career has failed to run smoothly, albeit not always due to his on-field performances. A brace in the 3-2 win over Spain last month ended a three-year international goal drought, but the forward misfired when it mattered against Croatia. Would he have tucked those opportunities away at club level?
Sunday's game was the end of not just the fixtures in Group 4 but also the action for both Croatia and England in 2018. The next international break in Europe is scheduled for March. England's appearance in the Nations League Finals, meanwhile, will take place next June.
Latest on Sportstar
- Motorcyclist dies in collision at German Ironman race
- From Milner to Firmino: Five players leaving Liverpool at the end of 2022-23 season
- Spanish Grand Prix, Formula 1 Highlights: Verstappen extends lead with yet another win; Hamilton second, Russell third
- WATCH: Yuzvendra Chahal on IPL 2023, the ODI World Cup and more
- Indian sports news wrap, June 4