Goalkeeper Dominik Livakovic was the hero, saving three penalties in the shootout, as Croatia edged past Japan after a 1-1 draw to reach the World Cup quarter-finals.
Livakovic kept out the first two efforts before stopping Maya Yoshida's kick, then Mario Pasalic converted the vital effort to take his side through.
Zlatko Dalic's side, beaten in the final by France four years ago, will face tournament favourites Brazil or South Korea in the next round on Friday (15:00 GMT).
Japan were the livelier side and took a deserved lead two minutes before half-time when Celtic forward Daizen Maeda converted from Yoshida’s knock down.
Croatia levelled in the second half courtesy of Ivan Perisic’s brilliant bullet header from Dejan Lovren’s cross, becoming his country's all-time leading scorer at major tournaments with 10 goals.
Neither side could find a breakthrough and the game ticked into the additional 30 minutes, with Brighton midfielder Kaoru Mitoma's spectacular strike pushed over by Livakovic.
At the other end, Marko Livaja’s flicked header looked to be looping in, but Shuichi Gonda managed to gather and Lovro Majer dragged a shot in the 120th minute.
The contest went to nerve-shredding penalties, where Livakovic emerged as the man to lead Croatia’s celebrations.
- Croatia beat Japan on penalties to reach quarters
Croatia just know how to get it done.
In 2018, when they almost lifted the trophy, they emerged from extra time with a win in each of their knockout games before losing in the final.
Of their last eight knockout games at the World Cup and Euros, seven have gone to extra time with the exception of their match against France.
They failed to score in two of their three group games but have demonstrated their vast experience to progress to the last eight.
It didn’t start well though, as Shogo Taniguchi came close to netting for Japan in only the third minute but flicked his header wide.
Daichi Kamada was looking to finish off a slick team move but ended up skewing his shot out for a throw-in from six yards out.
They got the breakthrough courtesy of Maeda’s poaching effort from close range.
Croatia, though, hit back through Perisic’s header as he moved past Davor Suker’s nine goals at major tournaments. Only the legendary striker has scored more international goals for the country, with 45 to Perisic’s 33.
The Tottenham player could have netted when Arsenal defender Takehiro Tomiyasu’s miscued a backpass, which allowed his north London rival to run in on goal, but a shot from the angle was batted out by Shuichi Gonda.