Croatia will take on France in the World Cup final -- their first ever appearance in one -- after beating England 2-1 in extra time in Moscow thanks to a Mario Mandzukic goal.
England enjoyed a lot of possession in the early exchanges and stunned Croatia with a goal inside five minutes. A lovely touch from Jesse Lingard set up Dele Alli, who was fouled by Luka Modric just outside the box in a central position. Kieran Trippier stepped up and curled a glorious effort into the top corner to net his first international goal.
With England on the front foot, Raheem Sterling almost latched onto a pass from Jordan Henderson but Croatia goalkeeper Danijel Subasic raced out to claim the ball. The Manchester City winger's pace was being targeted on the counter and Sime Vrsaljko was lucky to intercept a long ball with nobody else near them.
England's prowess from set pieces almost came to the fore again as Harry Macguire met a corner but headed just wide of the post.
Croatia regained their composure and began to put a string of passes together. Ivan Perisic's long range shot whistled past the post after taking a deflection off the heel of Kyle Walker and Ante Rebic found some space but saw his effort brilliantly blocked by a diving John Stones.
Ivan Strinic's error, after a poor clearance from Subasic, almost let in Sterling but he opted to pass to an offside Harry Kane rather than shoot and the assistant's flag went up. Sterling then won a free kick from Lovren and Ashley Young swung in the cross, but Subasic did well to punch clear with a host of white shirts waiting behind him.
On 30 minutes, Kane missed a glorious chance. Some excellent interplay on the edge of the area saw Alli pass to Lingard before the United forward slid Kane in. The England captain's shot was weak and Subasic made the save before Kane tried to slot the rebound home from a narrow angle but hit the post and the ball rebounded over the bar off the goalkeeper -- though the assistant's late flag suggested it would have been ruled out for offside anyway.
At the other end, Stones made a vital interception before Jordan Pickford was forced to block a Rebic effort, but England kept up the pressure and Alli found Lingard on the edge of the box only for his curled shot to fly wide.
Croatia offered little in attack though, with Ivan Rakitic crowded out in the box after poor clearance from Pickford. There was a late VAR review as Macguire seemed to block Lovren in the box, but it was not deemed enough to refer to the referee and England went into the break ahead.
A slow start to the second half saw Walker booked for holding onto the ball and, at the other end, a Kane knockdown ended with a shot from Lingard deflected over the bar.
Trippier's superb cross just evaded Kane in the six-yard box and Croatia were able to clear their lines. Then Strinic worked his way into the England area but put in a tame cross that was dealt with easily.
Croatia pressed and started getting some decent deliveries into the box -- one fell back for Rakitic to aimlessly shoot over and another was cleared by Stones but landed at the feet of Perisic, who shot and Walker blocked bravely.
The pressure eventually told. England's nerves saw Croatia equalise as a fine cross from Vrsaljko was turned home by Perisic. The winger's boot was high but he got ahead of Walker to slot the ball into the corner.
England were nearly behind inside a few minutes. A nervous miskick from Walker fell at the feet of Perisic, who beat his man and hammered a low shot off the bottom of the post. The defence then lost track of things from a shot corner and another fine cross from Vrsaljko almost saw Rebic get his head on the ball.
Gareth Southgate brought on teenager Marcus Rashford for Sterling and his first contribution was to put in a lovely cross which was cleared at the back post.
Inside the final 15 minutes, Croatia continued to dominate and Walker did well to stop Perisic from reaching Modric's cross. Lingard managed to get in behind the defence, but there were no England teammates to get on the end of his shot as it fizzed across the box.
Trippier, Walker and Pickford put England hearts in mouths with a dangerous exchange at the back and Mandzukic's shot was well saved. Pickford was then muscled out of a high ball and his punch fell at the feet of Perisic, who lobbed it over the bar.
For a split second it looked like Lingard might latch on to a Kane throughball, but it evaded him. There was no such thought about what might happen when Lovren lined up a shot from 40 yards and predictably it went into the crowd.
Trippier swung in a late free kick but Kane was unable to direct it on target and minutes later the match moved into extra time.
Danny Rose came on for Young but, despite having played extra time and penalties in both knockout games, Croatia did not make a change of their own until Strinic was injured and Josip Pivaric came on. Jordan Henderson made way for Eric Dier as England tried to make the most of fresh legs.
Dier was immediately into the action as Rose broke down the left and crossed for Lingard, who laid it off to the defender to shoot. His effort was blocked but from the resulting corner, Stones' free header was cleared off the line by Vrsaljko.
Rebic came off for Andrej Kramaric and, when Croatia broke on the counter after a fine pass from Modric, the substitute's shot was blocked easily.
England then had a wonderful stop from Pickford to thank for keeping the score level. A fizzed low cross from Perisic was met by the advancing Mandzukic, but Pickford came out bravely and deflected the ball wide with the outside of his leg.
In the second period of extra time, England fell asleep from a corner and were lucky to see Marcelo Brozovic's shot fly over. Seconds later, Mandzukic struck. A header was not cleared and the striker ran in behind the defence to slot past Pickford.
Southgate brought on Jamie Vardy for Walker in his last throw of the dice. Perisic was unable to connect on a shot inside the box and Mandzukic limped off with cramp to be replaced by Vedran Corluka. Trippier also had to hobble off with a groin injury, meaning England went down to 10 men as they had used all their subs.
Pickford spilled a shot, but gathered it before Domagoj Vida could get there. And Croatia made their final change as Modric came off for Milan Badelj with two minutes left on the clock.
Kramaric broke free but failed to spot a teammate in open space in the box and blasted his shot into the side netting. Minutes later, the whistle went. Croatia were through into their first World Cup final; England going home.