Daizen Maeda gave Japan the lead at the Al Janoub Stadium just before half-time when he pounced following a deep free-kick into the opposing penalty box. Croatia hit back through a super header from Ivan Perisic on 55 minutes to set up a tense final half hour, although neither side could find a winner inside 90 minutes, nor in extra-time.
- World Cup: Heartbreak for Japan as Croatia win on penalties
Croatia goalkeeper Dominic Kivakovic saved penalties from Takumi Minamino, Kaoru Mitoma and Maya Yoshida before Mario Pasalic scored to claim a 3-1 win on penalties and send them through to the quarterfinal stage, where they will face either Brazil or South Korea, who play later on Monday.
For Japan, this was last-16 heartache for the fourth time after a loss to Turkey in 2002, exiting on penalties against Paraguay in 2010 and giving up a 2-0 lead to lose to a stoppage-time goal against Belgium four years ago.
The game was more open than anyone had reason to expect, with Croatia ratcheting up the physicality to gradually take control of midfield and Japan trying to hit them on the break.
Perisic was put through on goal in the eighth minute but Gonda pushed away his shot and Bruno Petkovic also had a one-on-one, only to tap an attempted pass tamely through the Japanese goalkeeper's legs.
Japan showed far more adventure than they had in the first half of their group matches and Shogo Taniguchi, Daichi Kamada and Maeda all had chances to open the scoring before the latter broke the deadlock in the 43rd minute.
Ritsu Doan took the ball from a short corner and curled it into the box where Bruno Petkovic deflected it back across the six-yard area under close attention from Yoshida and Maeda pounced to tuck it into the net.
The equaliser came 12 minutes later with a cross from the same flank, Dejan Lovren lofting a beauty into the box and Perisic getting in front of his marker to head the ball powerfully into the bottom right corner of Gonda's goal.
That brought Japan out of their shells and Wataru Endo was soon firing in a long-range effort which Livakovic tipped over the bar.
Extra time was a little more ragged although a thrilling run and piledriver of a shot from Japan substitute Kaoru Mitoma brought a fine save out of Livakovic just before the break.
Japan kept their nerve throughout the match but they crumbled in the penalty shootout as Nikola Vlasic and Marcelo Brozovic put Croatia 2-1 ahead before Pasalic sealed the deal for Croatia.