In a vote on Thursday evening, the government, which was sworn in on Saturday four months after a general election, received the backing of 84 deputies, with 58 voting against and one abstention.
The vote came after 30 hours of sometimes heated parliamentary debate, which had begun Wednesday morning.
Michel, 38, who is Belgium’s youngest prime minister since 1840, now heads a government coalition of three Dutch-speaking parties, including the nationalist New Flemish Alliance (N-VA), as well as his own French-speaking party, MR.
Comments by two N-VA ministers have marred the first few days of Michel’s government.
Interior Minister Jan Jambon was quoted as saying in a newspaper that Flemish collaborators with Nazi occupiers in Belgium during World War II “had their reasons”.
Immigration and Asylum Minister Theo Francken was meanwhile pictured at a meeting to mark the 90th birthday of a man convicted after the war of collaborating with the Nazis.
The row has reopened old wounds over the war, a divisive chapter in a country already sharply divided between the richer Flemish north and the poorer Francophone south.
Left-wing opposition members, particularly French-speaking ones in the linguistically-divided country, were furious, with Socialist Laurette Onkelinx saying she heard the “sound of boots”.
Francken has since apologised, and said: “I guarantee that I will be a secretary of state in the interests of all citizens”.
Another socialist, Julie Fernandez, had called for Francken to be sacked.
As well as the row over collaboration, Michel is already at odds with the unions.
Prior to the vote, Michel, in a major economic and social policy speech on Tuesday, had outlined his intention to raise the pension aged by two years to 67 by 2030.
In response, the unions who have announced a general strike for December 15.-AFP