Road, rail and air transport were all affected with domestic and European flights cut to a fraction.
Unions claimed strong support at car factories and other industrial sites but Mariano Rajoy's conservative government played down the action.
It plans to unveil measures on Friday to save tens of billions of euros.
The strike is the government's first big challenge since taking office.
Scuffles broke out between protesters and police as workers from Spain's largest unions picketed at the capital's bus depot early on Thursday.
A total of 58 people were detained and nine were injured, the interior ministry said.