"This budget is a difficult task for a government that wants to leave its mark with social justice," Prime Minister Alexis Tsipras told lawmakers.
He agreed to a batch of economic reforms in August to secure a euro zone bailout of up to €86bn ($93bn; £62bn).
His leftist-led government has been under pressure to deliver tangible benefits to its poorest citizens since the agreement.
The budget makes €5.7bn in public spending cuts including €1.8bn from pensions and €500m from defence. It also includes tax increases of just over €2bn.
Despite the cuts, the budget will still have a greater deficit than the 2015 budget.