Croatia made history entering World Cup final for the first time beating England 2-1 after extra-time in semi-final at Luzhniki Stadium in Moscow on Wednesday.
On the other hand England's bid to reach a first World Cup final since 1966 came to an end in the last four.
Juventus striker Mario Mandzukic scored the winning goal in the 109th minute, slotting in from Ivan Perisic's flick-on into the area.
Perisic's volley sent the match into extra time after Kieran Trippier had given England a fifth-minute lead with a sublime free-kick.
Unfancied before the competition, Gareth Southgate's young side defied expectations by reaching the semi-finals, but were undone by an experienced Croatia side.
England, playing in their first World Cup semi-final since 1990, got the perfect start through Trippier's brilliant free-kick and Croatia were finding it extremely difficult to deal with England's high-tempo game.
Harry Kane could have doubled the lead but was denied by goalkeeper Danijel Subasic and Jesse Lingard placed a shot wide from a good position.
Croatia grew into the game in the second half and equalised through Perisic, and the Inter Milan winger hit the post with a low drive shortly after.
In extra time John Stones saw a header cleared off the line, while Pickford made a brilliant save from Mandzukic's close range effort - but the Everton man could do nothing about the winner.
England will now play Belgium in Saturday's third/fourth place play-off in St Petersburg.