It will raise the age for early retirement from 61 to 63, two years short of the full retirement age, Employment Minister Fatima Banez told a news conference.
The reform will penalise companies that lay off a large proportion of over-50s when they make job cuts, she added, speaking after a weekly cabinet meeting.
The reform approved at the meeting will also curb access to long-term unemployment benefits for the over-55s, which will now depend on a family's overall income, she said.
It will allow retired people to continue doing paid work while still collecting half of their pension.
A double recession brought on by the collapse of Spain's construction boom in 2008 has driven the unemployment rate above 26 percent.
Banez said the number of people taking early retirement had increased by a third in the crisis.
She said 42 percent of Spanish retirees in 2012 took early retirement, which was "deeply costly for our pension system" — to the tune of some €7 billion a year.
Spain's two leading labour unions, the UGT and CCOO, denounced the reform in a statement, saying it "increases the social vulnerability of older workers".
Spain's previous, Socialist government in 2011 passed a reform to progressively raise the full retirement age from 65 to 67 by 2027.