After a 56-hour debate, the House voted 253-0, with 196 abstentions and one uncast vote in the third and final reading on January 11.
The bill will now be sent to the Senate, which will have 20 days to examine it. The Senate whip has tentatively scheduled the debate for January 20.
Thai Prime Minister Prayut Chan-o-cha, who attended the session, thanked members of the parliament (MPs) for approving the 55-section bill.
He pledged to take into consideration all the concerns brought up by MPs during the debate so that people benefit the most from the budget.
The 520-billion-baht central budget, most of which is at the disposal of the prime minister, remains unchanged.
The ministries that saw cuts include the Ministry of Defence (down by 1.5 billion baht to 124.4 billion baht), Public Health (down by 1.3 billion to 26.7 billion), Higher Education (down by 1.1 billion to 47.9 billion), Education (down by 909 million to 132.8 billion), and the Interior Ministry (down by 625 million to 288.4 billion).
The Labour Ministry was the only ministry that received an increase, rising 11.2 billion baht to 67.7 billion baht.