A second-half header from Samuel Umtiti in Saint Petersburg gave France a 1-0 win, earning them a place in Sunday's final in Moscow against either England or Croatia.
Thousands of crestfallen fans walked away quickly after the final whistle sounded on a giant screen in the town of Waterloo, south of the Belgian capital Brussels.
"We're very disappointed," 27-year-old Alice Cordier told AFP in Waterloo, where French emperor Napoleon was defeated by a mix of European forces in a huge battle in 1815.
"It's really too bad to lose to France, Belgium's national bad luck," she added. "But we are still proud to be Belgian."
Some echoed the love-hate relationship and inferiority complex many French-speaking Walons have with their bigger neighbour France.
"We will hear it spoken about for one hundred years," 26-year-old supporter Stephanie Smeets said. "The French will take the mickey out of us."
French speakers, who share a country with Dutch and German speakers, are particularly sensitive to what they see as France's condescending attitude toward them.
It's only the second time in history that Belgium have reached the World Cup semi-finals, 32 years after Diego Maradona's Argentina beat them at the same stage in Mexico in 1986 before going on to win the title.
France won the World Cup in 1998 and are now in their third final.
But Belgian Prime Minister Charles Michel was full of praise for the Red Devils.
"Bravo @BelRedDevils for your performance and having thrilled us until the semi-final," Michel tweeted.
- 'Harsh logic' -
For many observers, this generation of talented players including Eden Hazard, Kevin De Bruyne, Vincent Kompany and others had a real chance to come home victorious.
"Regrets are eternal. It will not be our day of glory on this 10 July," a presenter of Belgium's French-language RTBF television station said after the final whistle.
But he thanked the team.
"Thanks for having allowed, thanks to football, to forget everything a bit and enjoy moments of pleasure."
Analysts have also praised the multicultural team, including those whose parents are Congolese and Moroccan immigrants, for helping to unite a country split by political tensions over the Dutch and French language.
In Brussels, the national colours -- black, yellow and red -- were draped over cars, balconies and cafes that showed the match on television.
In one cafe, Mathieu Geslan, a 32-year-old French baker who has lived in Brussels for nine years, wore Belgium's red jersey to watch the match with his Belgian partner Aurore Szabo.
"The French have won once the World Cup. So why not have the Belgians win this time?" he said at half-time when the score was still 0-0.
After the match, there was plenty of analysis of what went wrong.
"The Belgians did not manage the last half hour well," 79-year-old Jean Dhave said in the Brussels suburb of Uccle.
"We are sad but it is deserved," said Dhave, a manager of a tennis club who organised a special evening for the match.
He said that key men De Bruyne and Hazard were not on form.
Belgian comedian Benoit Poelvoorde had predicted a 1-0 France victory in newspaper Le Soir.
"I think our team will lose Tuesday evening because it has every chance of winning. That's the harsh logic," he said.