Zlatko Dalic’s men were stunned five minutes into the encounter at the Luzhniki Stadium in Moscow when Kieran Trippier scored direct from a free kick.
As they tried to gather their wits, Harry Kane and Jesse Lindgard had chances to add to the England tally.
The imprecision would cost them dear. “We played well given the size of the game,” reflected England coach Gareth Southgate after the loss. “We controlled possession and when you are in charge you need to score a second.”
Once Ivan Perisic levelled in the 68th minute, Croatia grew stronger and with skipper Luka Modric ably abetted by his wily midfield cohort Ivan Rakitic, England struggled to cope with their angled passes.
“In extra-time no one wanted to come off,” said Dalic. “Nobody wanted to give in and that kind of attitude makes me proud.”
Mario Mandzukic’s winner in the second period of extra-time came a few minutes after the 32-year-old lay stricken with cramp in the English penalty area. He swept the ball low past goalkeeper Jordan Pickford after Perisic's header back into the box flummoxed the England defence.
France await Croatia in the final on Sunday (Bangladesh time 9pm) at the Luzhniki Stadium. “France is a team with fantiastic players,” said Dalic. “They are a daunting task but we will face it and it will be a fantastic match.”
Belgium are next up for England in the third place play-off on Saturday in Saint Petersburg. “The honest thing to say is that it’s not a game anyone wants to play,” said Southgate. “But we want to give a good performance of pride and we want to play well.”
Despite the defeat, the performances received the royal seal of approval. Prince William, the president of the English Football Association, said England could be proud of Southgate's team.
"I know how disappointed @england must feel right now but I couldn't be more proud of this team and you should hold your heads high," he tweeted.