Croatia held world number two-ranked Belgium to a 0-0 draw in their final game in Group E.
The 2028 finalists join Morocco as the two teams to progress to the knockout stages while Belgium heads home.
It was a dull opening 45 minutes between Croatia and Belgium, with both sides failing to make either goalkeeper work.
But Croatia started on a strong and positive note, and the better of both sides in the first half.
While Croatia dominated proceedings on the ball, there was little from both teams offensively as they struggled to create any meaningful opportunities.
Just before added time, Lukaku had the best chance to win the game for Belgium following brilliant work from Doku and Thorgan Hazard.
But once again, the Belgian record scorer was unable to put the ball at the back of the net as Croatia survived, holding on for a share of the spoils.
There was an early drama in the first half after Croatia was awarded a penalty following a foul on Kramaric.
Matt Taylor pointed to the spot, with Luka Modric stepping up to the plate to face club mate, Thibaut Courtois, in goal for the Red Devils.
However, the VAR stepped in to save the day for the Red Devils after calling the attention of centre referee Taylor, who subsequently overturned his earlier decision for offside on Kramaric.
It was more of the same in the second half with 2018 finalists Croatia still in control of the game at the Ahmed Bin Ali Stadium.
Both teams looked sharper in the second half but it was Belgium’s Courtois who was the busier goalkeeper as he was forced to make a couple of saves to keep the Devils in the game.
Romelu Lukaku was subbed on by Roberto Martinez just before the start of the second half and the Chelsea man almost broke the deadlock 15 minutes later.
In the space of two second-half minutes, the 29-year-old struck the post and then watched as his 62nd-minute header went agonisingly close.
The final 25 minutes of the game were played out with both goalkeepers on holiday as both teams lacked the required cutting edge in the final third.
What the result means
With a share of the spoils, Croatia joins Group E winners Morocco in the knockout round while Belgium heads back home to Brussels.