It was the third time doctors, nurses and health workers had rallied since the local authorities put forward a plan in October to place six hospitals and dozens of medical practices under private management. The plan also calls for patients to be charged a fee of €1 for prescriptions.
Workers launched an indefinite strike last month against the plan, which has not been endorsed by the centre-right government of Prime Minister Mariano Rajoy. Health workers in the capital are striking from Monday to Thursday each week and seeing patients only on Fridays, while responding to emergencies.
Spain's 17 autonomous regions control health and education policies and spending. They have all had to implement steep cuts this year as the country struggles to meet tough EU-agreed deficit targets.
Dressed in white scrubs, the protesters shouted slogans such as "Health is not for sale" and "Health 100% public, no to privatisations".
"Of course, privatisation can be reversed. Actually the question is not if it can be reversed, because privatisation should never have a future," said Luis Alvarez, an unemployed man from Madrid attending the demonstration.
Belen Padilla, a doctor at Madrid's hospital Gregorio Maranon, said one million citizens had already signed a petition rejecting the plan.