England produced a dramatic late comeback to beat Croatia and make it through to the semi-finals of the Nations League.
It looked for a long time like Andrej Kramaric’s 57th-minute goal would consign the Three Lions to an agonising defeat and relegation from League A of UEFA’s newest international competition.
But two late goals, from substitute Jesse Lingard and captain Harry Kane, rescued three vital points which meant Gareth Southgate’s side took top spot in Group 4 ahead of Spain and World Cup runners-up Croatia.
They are now in the hat for the finals draw on Monday 3 December.
England enjoyed by far the better of a frantic opening period and had a number of chances to turn their first-half dominance into something tangible.
Southgate’s charges survived an early scare when Jordan Pickford half-cleared Fabian Delph’s back pass and Ante Rebic fired the loose ball over the top.
But England regained their composure and created four golden opportunities before the 25-minute mark.
Raheem Sterling fired a shot straight at Croatia goalkeeper Lovre Kalinic when put through by Kane with the Three Lions skipper unable to turn home John Stones’s knockdown from the subsequent corner.
Kane then had two chances blocked in quick succession; the first by Tin Jedvaj and the second by the recovering Kalinic, who had clattered into Sterling seconds earlier.
England tails were up and Sime Vrsaljko was forced to rescue Croatia with a last-ditch slide tackle to deny Marcus Rashford a clean strike at goal after the Manchester United forward was found by Pickford’s pinpoint pass.
Croatia had a few, albeit less clear-cut, chances themselves and it was a surprise the two sides went in goalless at the break.
England picked up where they left off after the restart with Rashford and Sterling combining to force Kalinic to get down and palm away to his right.
And Zlatko Dalic’s side made England pay for their profligacy just before the hour mark.
Substitute Josep Brekalo, on for Rebic, slipped Nikola Vlasic into the box and he found Kramaric on the penalty spot.
The Hoffenheim forward twisted and turned until he found the requisite space to have a crack at goal, with his shot deflecting off Eric Dier and beyond Pickford’s desperate lunge.
England now needed two goals to not just stave off relegation, but to win the group; a 1-1 draw would have meant Croatia stayed ahead of their hosts courtesy of a superior head-to-head record, following the 0-0 draw in Rijeka last month.
Southgate made three attacking changes, summoning Dele, Lingard and Jadon Sancho from the bench – and it paid off almost immediately.
Croatia had a decent chance to put the game to bed but dallied on a counter attack, and England punished them.
A long throw by Joe Gomez was nodded down by Stones, prodded goalwards by Kane and tapped over the line by Lingard to breathe life into the Three Lions’ Nations League campaign and re-energise the 78,000-strong crowd.
The goalscorer was just as important at the other end when he hooked Domagoj Vida’s header off the line, leaving the path clear for Kane to steer his country into the last four.
Ben Chilwell bent a delicious 85th-minute free-kick into the box and the ball zipped past everyone, except Kane, who slid in to guide the ball into the far corner and send Wembley Stadium into raptures.
England (4-3-3): 1 Jordan Pickford (Everton); 2 Kyle Walker (Manchester City), 5 Joe Gomez (Liverpool), 6 John Stones (Manchester City), 3 Ben Chilwell (Leicester City); 4 Eric Dier (Tottenham Hotspur), 7 Ross Barkley (Chelsea), 8 Fabian Delph (Manchester City); 10 Raheem Sterling (Manchester City), 9 Harry Kane (capt; Tottenham Hotspur), 11 Marcus Rashford (Manchester United).
Substitutes: 20 Dele (Tottenham Hotspur) for Barkley 64, 14 Jesse Lingard (Manchester United) for Delph 73, 17 Jadon Sancho (Borussia Dortmund) for Rashford 73.
Substitutes not used: 12 Trent Alexander-Arnold (Liverpool), 13 Jack Butland (Stoke City), 15 Lewis Dunk (Brighton & Hove Albion), 16 Michael Keane (Everton), 18 Luke Shaw (Manchester United), 19 Harry Winks (Tottenham Hotspur), 21 Alex McCarthy (Southampton), 22 Ruben Loftus-Cheek (Chelsea), 23 Callum Wilson (AFC Bournemouth).
Goals: Lingard 78, Kane 85
Booking: Barkley 26
Manager: Gareth Southgate
Croatia (4-2-3-1): 12 Lovre Kalinic; 2 Sime Vrsaljko, 6 Dejan Lovren, 21 Domagoj Vida, 16 Tin Jedvaj; 10 Luka Modric (capt), 11 Marcelo Brozovic; 18 Ante Rebic, 8 Nikola Vlasic, 4 Ivan Perisic; 9 Andrej Kramaric.
Substitutes: 3 Antonio Milic for Vrsaljko 26, 7 Josep Brekalo for Rebic 46, 17 Marko Rog for Vlasic 79.
Substitutes not used: 1 Dominik Livakovic, 5 Matej Mitrovic, 13 Duje Caleta-Car, 14 Filip Bradaric, 15 Mario Pasalic, 19 Milan Badelj, 20 Marko Pjaca, 22 Josip Pivaric.
Goal: Kramaric 57
Bookings: Brozovic 67, Jedvaj 67, Lovren 89
Head coach: Zlatko Dalic
Referee: Tasos Sidiropoulos
Attendance: 78,221