Croatia will face France in the Football World Cup final on Monday (NZ time) after beating England 2-1 in their semi-final.
Mario Mandzukic scored the match-winning goal in the 109th minute to send his country through and break English hearts in Moscow.
The Juventus striker capitalised on a brief lapse in the English defence to score the goal which sends Croatia through to their first Football World Cup final.
Both sides were level at 1-1 after 90 minutes. Croatia's Ivan Perisic scored in the 68th minute to cancel out Kieran Trippier’s early free-kick.
Trippier curled the ball in after five minutes to get England off to a flying start.
It was his first goal for his country, England's 12th of the tournament and ninth from a set-piece, but they should have added more from open play, as they revelled in the space they were allowed in the first half.
Danijel Subasic denied Harry Kane from a Jesse Lingard through pass and the Tottenham's striker then struck the rebound against the post.
Lingard also wasted a chance when he curled a shot wide with a goal seemingly certain.
England paid the price for those early misses, when Perisic got in front of his marker to flick in a high cross from Sime Vrsaljko in the 68th minute.
It stayed level at 90 minutes, meaning Croatia faced extra time for the third successive game, having edged Denmark and Russia on penalties.
But just when it looked as this was heading to penalties too, Mandzukic struck with his well-taken shot.
"It hurts," England captain Harry Kane said after the match. "It's going to hurt for a while, but we can hold our heads high.
"We had good chances at 1-0 up. We got a bit deep at times.
"Hard to say [what went missing in second half]. They played well and made it difficult for us.
"Great to get to this stage, but we wanted to go on and win it. We felt we were good enough, but we fell a bit short... it hurts.
"It shows how we can be up here, can get to semi-finals. The next step is to go one further.
"We're proud of what we achieved, but wanted more. We have to dust ourselves down and go again in a couple of years."
England will now play Belgium in the third-place playoff on Sunday at St Petersburg.
Croatia 2 (Ivan Perisic 68m, Mario Mandzukic 109m) England 1 (Kieran Trippier 5m) at Luzhniki Stadium.