Changes will include freezing public sector workers' salaries and reducing departmental budgets by 16.9%.
The government says it will raise 12.3bn euros this year, aided by an increase in tax for large companies.
Deputy Prime Minister Soraya Saenz de Santamaria said the nation was in an "extreme situation".
"Our top priority is to clean up public accounts," she said.
"This is a moment that demands serious efforts to reduce spending but also structural reforms to cause the economy to grow and create jobs."
But economists are questioning whether the cuts will be enough to satisfy Spain's European partners.
Last month Prime Minister Mariano Rajoy agreed with the European Commission to reduce Spain's deficit to 5.3% of GDP in 2012.
Javier Diaz Gimenez, professor of economics at IESE Business School in Madrid, said: "This [budget] seems to be non-credible.
"They will not be making the 5.3% target agreed with Brussels, because the cuts are insufficient given the growth forecast," he told BBC News.
According to official forecasts the Spanish economy will shrink by 1.7% this year.
Under the 2012 budget the unemployed will see their benefits maintained and pensions will continue to rise.
Consumers have also been spared some pain as VAT will remain at its current level.
But they can expect higher fuel bills as Energy Minister Jose Manuel Soria announced a rise in tax on electricity and gas from 1 April.
The budget will go before Parliament on Tuesday and is expected to be formally passed in June.
Separately, eurozone ministers have agreed the expansion of Europe's bailout reserves.
The ministers, meeting in Copenhagen, have decided to boost the joint lending power of the "firewall" to 800bn euros.
Investors - worried about a bailout for Spain or Italy - wanted the fund to increase from its current size of about 500bn euros to closer to 1 trillion euros. But there was resistance from Germany to an increase of that scale
On Thursday, police clashed with demonstrators as hundreds of thousands swamped the streets in Barcelona and other cities.
Unions said 800,000 people joined the protest in Barcelona. Police put the number at 80,000.
Some marchers in the city smashed windows and set rubbish bins alight. Police fired tear gas and shot rubber bullets at the ground, TV pictures showed.
In the capital, Madrid, unions said about 900,000 people took part. The government did not give a figure.
The BBC's Europe editor, Gavin Hewitt, says the size of the demonstrations on Thursday were an indication that many are losing patience with austerity.
Unemployment in Spain is currently the highest in the EU at 24%. Nearly half of Spain's under-25s are out of work.
The general strike was the government's first big challenge since Mariano Rajoy took office after elections last November.
Despite the opposition, the government says it is committed to reining in its spending.
"The question here is not whether the strike is honoured by many or few, but rather whether we get out of the crisis," Mr Montoro said.
"That is what is at stake, and the government is not going to yield."