Croatia are into their first FIFA World Cup final.
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’s sublime free-kick put England ahead in the fifth-minute.
Croatia becomes the 13th different side to reach the FIFA World Cup final. They will play France on Sunday in Moscow.
England will play Belgium in Saturday’s third/fourth place play-off in St Petersburg.