After extra time ended with the score level at 2-2, goalkeeper Danijel Subasic was Croatia’s penalty hero, denying Fedor Smolov before Mario Fernandes fired wide.
Rakitic stepped up to score the winning kick and earn his country a place in the semi-finals for the first time since 1998.
Ivan Rakitic scored the decisive spot-kick as Croatia beat hosts Russia 4-3 on penalties to book a World Cup semi-final date with England.