Goalkeeper Dominik Livakovic made three saves in the shootout as Croatia progressed in Qatar
Croatia ended Japan's hopes of reaching a first-ever World Cup quarterfinal as they prevailed on penalties in their last-16 meeting in Qatar, setting up a date with Brazil or South Korea.
After the score ended 1-1 following extra time of an engaging contest at Al Janoub Stadium, it was Croatia who kept their cool from the spot.
Goalkeeper Dominik Livakovic made three saves from tame Japanese efforts, before Mario Pasalic slotted the winning penalty for Croatia to claim the shootout 3-1.
Zlatko Dalic's team will next face the winners of the last-16 encounter between Brazil and South Korea in the quarterfinal on Friday.
Japan had been among the sensations of the tournament so far in Qatar, topping Group E after stunning comeback victories against former World Cup winners Germany and Spain.
They played their part in an engrossing contest with 2018 World Cup finalists Croatia, opening the scoring in the 43rd minute of the match through Daizen Maeda.
Croatia hit back in the second half through a brilliantly placed header from stalwart Ivan Perisic.
The game lost some of its verve as extra time played out, before Croatia proved again that they will back themselves in a shootout - just as they did twice during the knockout stages on their run to the final in Russia four years ago.
Goalkeeper Livakovic saved a tame opening effort from Monaco's Takumi Minamino, setting the tone for the shootout for Japan.
Former CSKA Moscow playmaker Nikola Vlasic fired in the first spot kick for Croatia, before Livakovic guessed the right way to save again from Kaoru Mitoma.
Marcelo Brozovic tucked his shot down the middle, before Takuma Asano kept Japan's hopes alive by scoring his effort.
Marko Livaja hit the post with a casual effort for Croatia, but Japanese captain Maya Yoshida then saw his shot saved by the inspired Livakovic.
Pasalic, a former loanee at Spartak Moscow, struck the winning penalty as Croatia celebrated their progress wildly while a number of Japanese players slumped to the ground in despair.
Livakovic was inspired in goal for Croatia.
Clive Brunskill / Getty Images
Targeting a first-ever berth in the last eight of the World Cup, it was Japan who started much the brighter at Al Janoub Stadium, and could have taken the lead in the opening two minutes if Shogo Taniguchi had done better with his header from close range.
Croatia eyed a chance of their own through Ivan Perisic not long after, but the winger saw his effort saved by Shuichi Gonda from a tight angle.
Japan who continued to show more attacking menace, and eventually they made the breakthrough just before half time.
After a well-worked short corner, Ritsu Doan whipped a cross into the box, where captain Yoshida poked the ball sideways for Daizen Maeda to blast it into the net.
It was the first time Japan had opened the scoring in their four games in Qatar, but was arguably no more than their lively performance had merited.
Maeda had given Japan the lead.
Markus Gilliar / GES Sportfoto / Getty Images
Croatia headed in at the break knowing they were well off the standards they have become accustomed to setting.
But ten minutes into the second half, Croatia found themselves level.
Zenit St. Petersburg defender Dejan Lovren sent a long ball into the box, where Perisic beat his man to direct a well-placed header across Gonda and into the bottom corner.
It was a 33rd goal in national team colors for Perisic - a player who was so integral to their run to the final in Russia four years ago.
It also meant Perisic scored his 10th goal at a major tournament, overtaking the great Davor Suker as his nation's record holder.
The goal roused Croatia. Luka Modric - who made his World Cup debut against the Japanese in Germany back in 2006 - tested Gonda with a vicious dipping volley from outside the box which the goalkeeper pushed to safety.
Soon afterwards, Croatian substitute Ante Budimir sent a header wide when free at the back post.
Croatia threatened while Japan continued to play their part in an enthralling contest, but they remained locked at 1-1 as the game became the first go head to extra-time in Qatar.
Japan sat deep as the fizz went out of the game somewhat, while the 37-year-old Modric departed for Lovro Majer in the 99th minute as Croatia looked to inject more energy into midfield.
Substitute Mitoma - a hero with his dramatic assist against Spain - burst forward on rare a Japanese foray into danger territory, drawing a save from Livakovic with a powerful shot down the middle of the goal.
Majer dragged a shot wide of the post from the edge of the box in the dying seconds as Croatia spurned their last chance to win the game before it went to penalties.
But just as they did with wins against Denmark and Russia at the World Cup four years ago, Croatia got it spot on in the shootout again as Livakovic was the hero.