Croatia has cruised to the finals after beating England 2-1 on Wednesday as Mario Mandzukic's extra-time goal sent them into their first World Cup final and sparked celebrations across the Balkan nation.
England had looked on course for their first final since 1966 as they led through Kieran Trippier's fifth-minute free kick and totally dominated the opening half.
But Croatia, in their first semi since 1998, leveled through Ivan Perisic after 68 minutes and then looked the more dangerous side.
It stayed level at 90 minutes, meaning Croatia faced extra time for the third successive game, having got past Denmark and Russia on penalties.
But instead of flagging, they seemed to gain in energy and avoided a third shootout when Mandzukic struck with a well-taken low shot in the 109th minute.
Since their dream run to the last four in 1998, their first tournament as an independent nation, Croatia have failed to get past the group stage, with every subsequent failing team being compared unfavorably with the heroes of France.
This group, however, have gone one better and will get the chance to avenge the defeat of 20 years ago when they face the French on Sunday back at the same Luzhniki Stadium.
As always, they have shown fantastic spirit and belief, coming through extra time in three matches and battling back superbly after a wretched first half against England when they should have been put out of the game.
England had got off to a flying start when Trippier curled a superb free kick into the top corner.
It was their 12th goal of the tournament and ninth from a set-piece, but they should have added more from open play as they reveled in the space they were being given and looked completely in command.
Harry Kane shot weakly at Danijel Subasic and forced the rebound against a post while Raheem Sterling was a constant thorn in the Croatia defence.
The best chance for a second England goal was wasted by an unmarked Jesse Lingard when he curled wide when a goal looked certain.
Croatia had been desperately poor, a shadow of the team who carved Argentina apart in the group stage, but started to get a foothold in the game as the match rolled past the hour mark and Luka Modric's influence grew.
England paid the price for those misses when Perisic showed great determination to get in front of Kyle Walker to meet a Sime Vrsaljko cross and though his boot was high and he threw an anxious glance at the referee, Walker was stooping and there were few complaints.
Perisic should have added another when given a great shooting chance but he cannoned the ball against a post as England's defence began to lose shape.
It was a different game from then on, with Croatia suddenly playing with accuracy and purpose as England lost momentum, though Kane missed a chance to win it in stoppage time when he headed wide from a free kick.
England initially regrouped well in extra time with Marcus Rashford introducing some pace and Croatia were grateful for Vrsaljko's goalline clearance of a John Stones header.
But it was Croatia who struck the killer blow when Perisic won a header on the edge of the box, England lost concentration and the ball dropped for Mandzukic, whose firm low finish beat Jordan Pickford.
"We worked as hard as we could, it hurts, it hurts a lot and it will hurt for a long time," England captain Kane said.
"We created some good chances when we were 1-0 up, maybe we dropped a little too deep and we didn't get enough pressure on the ball. There's a lot we could have done better."