In the climax to a month of industrial action against new Prime Minister Charles Michel's policies, striking workers stopped all public transport while most schools, businesses and government offices shut down.
Pickets also blocked traffic outside the Brussels headquarters of the European Union, a 28-nation bloc that has seen years of protests against austerity aimed at cutting debts that threatened the euro currency.
The Belgian strike came days after a day of protest in Italy against Prime Minister Matteo Renzi's ambitious reform plans, while there have been similar demonstrations in Spain and Greece in recent months.
Belgian trade unions launched their movement last month with a march of more than 100,000 people in Brussels, which ended in violent protests that left dozens of police officers injured.
More From This Section
Unions went ahead with Monday's general strike after premier Michel's right-of-centre government refused to budge on plans to save 11 billion euros (USD 13.7 billion) over five years.
His coalition, which took office in October, intends to raise the retirement age from 65 to 67 from 2030, scrap plans for a usually automatic cost-of-living raise next year and introduce public sector cutbacks.
The government formed five months after elections had hoped to calm a nation deeply divided between the richer Flanders and the poorer French-speaking Wallonia, but instead has led to weeks of industrial action.
The last national strike in Belgium was in 2012 against the government of socialist prime minister Elio di Rupo.
Belgian airspace was closed after air traffic controllers joined the strike, preventing flights from landing or taking off from airports in Brussels, Charleroi, Liege, Antwerp and Ostend.