The measure passed with 327 votes in favor and 228 against, the Lower House announced on its website.
The bill contains the government's two flagship measures: a 780-euro basic monthly income for the poor and the unemployed and a lowering of the retirement age.
The two measures will be paid for through tax hikes affecting "banks, insurance companies, gambling, and multinational giants", according to a post by the populist Five Star Movement, which is currently ruling Italy in coalition with the rightwing, euroskeptic League party.
Opposition lawmakers objected during televised debate that the bill also cuts 4 billion euros (4.58 billion U.S. dollars) from education funding over the next three years, as well as allocations for international cooperation, culture and law enforcement, while penalizing middle-income pensioners.
The National Association of Italian Municipalities (ANCI) warned in a statement that the budget is "punitive" because it "deprives local authorities of funding" and will force mayors to raise local taxes or cut public services.
Ten days ago, Prime Minister Giuseppe Conte hammered out a deal with the European Commission in order to avoid a costly disciplinary procedure over excessive debt, presenting a revised budget bill that lowered Italy's deficit spending target from 2.4 percent to 2.04 percent of gross domestic product (GDP), while also lowering GDP growth estimates from 1.5 percent to 1 percent next year.
The coalition's original budget was submitted in October and was rejected by the European Commission on grounds it did nothing to reduce Italy's massive debt and was based on unrealistic economic growth assumptions.
More about: Italy