Activists of the trade unions are detained during an anti-government protest rally in Guwahati. Reuters
Millions went on strike throughout India on Wednesday, unions said, as workers angry at the government’s labour policies brought travel chaos across the country.
The widespread action was in opposition to what unions called the "anti-worker and anti-people policies" of right-wing Prime Minister Narendra Modi.
They highlighted the recent privatisation of public firms and natural resources and demanded a rise in the minimum wage and pensions.
Farmers and students joined some of the protests called by 10 trade unions who claim 250 million members between them.
Bus and train services and state-owned banks bore the brunt of the national strike action that was staged in defiance of government warnings of "consequences" for anyone who took part.
Protesters blocked roads and railway tracks, while those at rallies also chanted slogans against the government's new nationality law that opponents say is anti-Muslim and has sparked widespread demonstrations.
In West Bengal state, strikers targeted railways and key highways and burned tyres on a main road in the state capital of Kolkata. Protesters carried red flags at rallies in the city.
Police said there had been some "clashes" in Kolkata and other districts between supporters and opponents of the strike.
The eastern states of Bihar and Odisha, Maharashtra in the west, Haryana in the north and Kerala and Karnataka in the south were also hit by the action.
Some workers at state oil and coal firms joined the strike.
Agence France-Presse