Belgium were knocked out of the World Cup at the group stage as Croatia progressed at their expense with a goalless draw in Qatar.
Roberto Martinez’s side, who finished third in Russia four years ago and are ranked second in the world, have had a disappointing tournament with just one win in three matches.
They produced another lacklustre display against Croatia despite knowing a win was necessary to progress to the last 16.
Substitute Romelu Lukaku had numerous chances in the second half but failed to convert any of them.
Lukaku, still searching for sharpness following injury, poked an effort wide and then reacted too late when the ball hit him in front of goal in stoppage time.
Croatia, finalists in 2018, got the point they needed to progress from Group F as runners-up, with Morocco taking top spot thanks to a 2-1 win against Canada.
Zlatko Dalic’s side will face the winners of Group E – which is currently Spain – in the last 16.
Lukaku, who replaced Dries Mertens at half-time, came into the game with intent and immediately brought additional energy to the Belgium side.
But his missed opportunities in the second half proved costly, with each one bringing an audible collective groan from the stands and Inter Milan striker the punched the dugout in frustration after the final whistle.
Croatia were unconvincing – they had a penalty ruled out by VAR due to an offside in the build-up in the first half – but did enough to secure progression.
However they looked a level below what they showed to reach the final in Russia four years ago and their celebrations were fairly subdued after scraping through.