Transport services were disrupted across India on Friday and state-run banks and insurance companies were shut as more than a million workers went on a strike, saying Prime Minister Narendra Modi was pursuing anti-labour policies.
Trade unions backed by communist parties and the main opposition Congress said a government decision to raise minimum wages for unskilled workers did not go far enough and there was no social security or pensions for millions who were outside the organised sector.
The workers are also opposed to the Modi government's decision to open up the railways and defence sectors to greater foreign direct investment, which they say is a way to undermine state firms.
Workers in various places waved red flags and picketed outside government offices, blocked trains and roads with burning tyres and shouted slogans against the government.
In New Delhi, nurses went on strike at government hospitals and courted arrest in support of higher wages, disrupting services.
"We have been putting forward our demands for the last five years. But over the last year no minister has even met the trade unions," said Tapan Sen, general secretary of the Centre of Indian Trade Unions, one of 10 groups boasting a combined membership of 180 million workers that called the strike.
Also Read
Since the Modi government took office in 2014, it has taken a series of incremental steps to make labour laws less onerous for businesses and attract foreign investment.
But fear of a union-led backlash has made the Indian leader leave the responsibility for unshackling the labour market with states. He let his party's governments in Rajasthan and Madhya Pradesh states take the lead in this area.
Hundreds of workers staged a demonstration in the southern city of Chennai, home to global auto firms in support of the strike while in Srikakulam, in the neighbouring state of Andhra Pradesh, strikers clashed with police trying to stop them marching on government buildings.