Rakitic slotted home the winning kick against Denmark in the last 16 and once again held his nerve to convert from the spot, with Mario Fernandes going from hero to villain by missing from 12 yards after his 115th-minute header had made it 2-2 deep into extra time.
After ending the home side's incredible run, Zlatko Dalic's side will aim to at least go one better than the famous 1998 vintage that finished third in France when it meets England at the Luzhniki Stadium.
Denis Cheryshev got Russia off to a brilliant start by marking his return to the starting line-up with yet another contender for goal of the tournament after his stunning efforts against Saudi Arabia and Egypt in the group stage, before Andrej Kramaric equalised just eight minutes later.
Domagoj Vida headed Luka Modric's corner home 10 minutes into the first extra period, only for Fernandes, the Brazil-born defender who was granted Russia citizenship by president Vladimir Putin two years ago, to keep Russia’s hopes alive in a dramatic finish.
However, it was not to be for the resilient hosts, with goalkeeper Danijel Subasic saving Fedor Smolov's penalty and Fernandes firing wide before Rakitic kept his composure to put Croatia one match away from the final.