In a change to Schäuble's summer proposal, the parliamentary budgetary commission agreed to €17.1 billion onto the state deficit next year, €1.7 billion less than originally planned.
The budget was passed with votes from the governing coalition parties, the Christian Democrat, CDU and Free Democrat FDP, early on Friday morning after a 13-hour debate.
CDU budget expert Norbert Barthle championed the lesser increase in borrowing as a "great success and important step on the way to a structurally balanced budget."
But opposition parties said it was a trick to boost the government's popularity ahead of next year's election.
"The new budgetary deficit in this election budget can only be financed with help of accounting tricks … which Finance Minister Schäuble would never accept in Greece," said Carsten Schneider, the SPD's budget expert.
For example, €800 million in proceeds from privatization measures actually accounted for in the 2012 budget would be rolled over to 2013, he said.
"€1.7 billion less of new debts are a joke considering high tax incomes and low interest rates. There were no signs of structural savings," said Schneider.