Headers from Harry Maguire, from yet another set piece, and Dele Alli took England through to the semi but they had to wait to find out who they'd face. The game ended 2-2 after extra time.
Croatia were agonisingly close to scoring on the hour when Russia's defence failed to clear the ball and Ivan Perisic's shot hit the inside of the post but rebounded harmlessly across the face of the goal.
Denis Cheryshev fired the hosts into a 31st minute lead with a spectacular strike but Andrej Kramaric headed home to make it 1-1 six minutes before the half-time break.
But with just five minutes remaining, Russian Federation leveled the score thanks to a headed goal of their own, this time from right-back Mario Fernandes.
Croatia's Dejan Lovren and team mates celebrate winning the penalty shootout. Alan Dzagoev chipped the free kick towards goal and Fernandes was unmarked.
Croatia won 4-3 on penalties, knocking the host nation out of the tournament after both Fyodor Smolov and Mário Fernandes miss the net.
Rakitic then scored his second penalty shoot-out victor in two games.
He added that he did not see consistency in Croatia's game as they "looked good for three games but played worse against Denmark".
Then in 1990 in Italy they beat Cameroon in extra time to head into another semi-final, this time they faced Germany and lost on penalties, the beginning of their long hoodoo from 12 yards.