With Morocco topping Group F with a victory over Canada at the same time, the Red Devils needed to beat the 2018 finalists to reach the last-16.
In a game of few chances, Croatia held on for the point they needed to set up a clash with the winners of Group E.
Belgium went close to snatching a late winner in a frantic finish, but it was heartbreak for Belgium and De Bruyne in his third World Cup.
Croatia were close to taking the lead inside 10 seconds when Ivan Perisic flashed a shot just wide of the far post.
And they thought that they had a penalty midway through the first half when Premier League referee Anthony Taylor pointed to the spot after Yannick Carrasco caught Andrej Kramaric, but the decision was overturned by VAR for an offside in the build-up.
In a flat first half, De Bruyne created Belgium’s best opportunity with a driving run and pass that Dries Mertens blasted high over the bar.
But it was Croatia who looked more likely to score with Thibaut Courtois making smart saves from Marcelo Brozovic and Luka Modric at the start of the second half.
Chasing the win, Belgium took more risks as they chased the game and went close when Romelu Lukaku hit the post before heading another good chance over the bar.
And in the dying seconds, the Inter Milan striker missed a chance to snatch a victory from less than three yards’ out but his effort squirmed away and into the hands of goalkeeper Dominik Livakovic.