Thousands demonstrated in Paris against Labour Minister Myriam El Khomri’s proposed law, while police outside Paris estimated that 50,000 people marched in more than 20 towns and cities.
Organisers claimed the turnout was several times higher but admitted that it was lower than the massive mobilisation on 31 March.
Seven workers’ and students’ unions backed the call to protest, following the defection of some unions because the government made concessions on several controversial points in the bill.
There were clashes between groups of protesters and police in Paris, Nantes, Rennes, Lyon and Toulouse.
A 20-year-old demonstrator suffered head injuries from a projectile apparently fired by police in Rennes, while two police officers were lightly injured in Toulouse.
Strike action prevented the printing of daily newspapers and reduced flights in and out of Paris’s Orly airport and some Paris train services.
The bill will be the main target for discontent on the traditional international workers’ day protest on 1 May and trade union leader Philippe Martinez was to meet the initiators of the Nuit Debout (Up All Night) protests in Paris and several other cities on Thursday to discuss coordinating further action.