Mario Mandzukic broke England’s hearts with a late 109th minute winner to send Croatia through to the 2018 FIFA World Cup Final after extra time.
Kieran Trippier had put England ahead after five minutes with a stunning free kick before Ivan Perisic flicked in an equaliser.
Mandzukic then won it for Croatia after turning home in 109th minute from a tight left angle.
It was England who started brightest with Trippier’s beauty of a free kick, before wasting several chances throughout first half. One such chance came on half hour mark when a pass found Kane in box to tuck home but he found Danijel Subasic.
Come second half, Croatia were on top but England had a 56th minute chance which ultimately proved to be their undoing.
From a corner, Trippier found Kyle Walker on edge of box who passed back for the Tottenham right back to cross into box, only for Harry Kane to fail to connect.
Perisic soon punished that chance after pipping Walker to a cross with a high foot and volleying it past a helpless Jordan Pickford.
Both sides then had chances to win it before extra time with Croatia going closest in 84th minute after Pickford made a poor punch and ball found Perisic who shot wide.
Once extra time got underway, England could of reclaimed the lead in 98th minute from a Stones header but Sime Vrsaljko cleared off the line.
Soon after the second period of extra time commenced, Croatia dealt the fateful blow with Mandzukic close range goal after beating John Stones to Perisic’s flick.
England then tried to fight back to take this to penalties, going close seven minutes from time through a Marcus Rashford cross to Dele Alli but Subasic just caught ball before Alli could get head to it.
In end, Croatia held on to reach their first ever major final despite a late Rashford free kick, where they will face France in Sunday’s showpiece.
England meanwhile must put their fourth major semi final defeat in five aside and prepare for Belgium in Saturday’s third place play off.