The two sides made a change apiece from their last-16 ties - Cheryshev replacing the injured Yuri Zhirkov for Russian Federation, who reverted to a back four, and Kramaric taking over from Marcelo Brozovic for Croatia.
With the crowd silenced following an extra-time header from Croatia defender Domagoj Vida in the 101st minute, Russian Federation defender Mario Fernandes scored with his own header in the 115th to send the match to yet another penalty shootout.
Croatia will play England, who earlier beat Sweden 2-0 in Samara, at the Luzhniki Stadium in Moscow on Wednesday.
He cut in from the left, exchanged passes with Artem Dzyuba and skipped away from a Modric challenge before firing home a superb shot from 25 yards on his left foot.
- Croatia have now had eight different scorers at the 2018 World Cup - only Belgium (nine) have had more.
Croatia were agonizingly close to taking the lead on the hour when Russia's defence failed to clear the ball and Ivan Perisic's shot hit the inside of the post and rebounded harmlessly across the face of the goal.
Andrej Kramaric, the Hoffenheim forward, comes in with Inter Milan midfielder Marcelo Brozovic dropping out.More news: World powers back Iran oil exports despite US sanctions threat
Croatia continued to dominate possession in Russia's half, though the hosts had a rare chance in the 72nd minute as Aleksandr Yerokhin found space in the box but sent his header over the bar.
For Croatia, Mateo Kovacic had his penalty saved, but Marcelo Brozovic, Modric and Vida all netted theirs before Rakitic stroked in the victor.
But nearly immediately after making their third sub in the 88th minute, Subasic fell to the pitch grabbing his hamstring, and he was forced to continue after receiving treatment and made a save at his near post.
Croatia finally broke the deadlock in the 100th minute when Vida headed home from a Modric corner.
Croatia pressed for a late victor, earning a pair of corners, but the game went to extra-time where after four minutes, right-back Sime Vrsaljko picked up an injury and Vedran Corluka became Croatia's fourth sub.
Russia's unlikely run came to an end at the quarter-final stage as Croatia once again progressed via a shoot-out.
Sixteen of Dalic's squad play in Europe's big five leagues, with Monaco goalkeeper Danijel Subasic the hero against Denmark when he saved three penalties.
Croatia's Domagoj Vida, Dejan Lovren and Josip Pivaric celebrate after winning the penalty shootout against Russia in Fisht Stadium, Sochi, Russia. Akinfeev denied Mateo Kovacic and nearly kept out Luka Modric's effort from 12 yards out, but Rakitic converted the decisive effort to seal a 4-3 win in the shootout.