Official figures showed turn-out from the public sector, with 30 percent of railway staff and teachers, 23 percent of electricity workers and between 15 and 30 percent of post office staff joining the stoppages.
Demonstrations were staged in cities from Marseille in the south to Le Havre in the north, with the largest demonstrations drawing tens of thousands in the capital.
Unions put the total number of protesters at just over a million, but police said about 440,000 people had taken part.
Clashes broke out between police and protesters at a rally in the Corsican port of Ajaccio, where tension has been running high over the planned privatisation of a state-owned ferry company.
Around a third of suburban trains were running in Paris with some cancellations on metro and bus services.
The situation was worse in Marseille and Bordeaux, where most public transport was out of action.
There were cancellations and delays of up to two hours at Paris’s two airports.
Most national newspapers failed to go on sale because of action by print-workers.
Union leaders claimed the day was a success.
“The government and employers have a few days to give tangible signs that they have heard the message. We are already poised to start planning a follow-up if the right response doesn’t come,” said Bernard Thibault of the General Labour Cofederation (CGT).
Five of the country’s biggest trade unions called the stoppage to protest the reform policies of Mr Villepin’s centre-right government and to push for pay rises.
Their main target was a new labour contract which makes it easier for companies with fewer than 20 staff to hire and fire workers in their first two years of employment.
The strike came at a sensitive time for Mr Villepin, who has been rocked by the crisis over the National Corsica Mediterranean Company (SNCM) which operates ferries between Corsica and north Africa and ports on the Mediterranean coast.
Plans to sell off the heavily indebted company sparked days of violence in Corsica, a near-blockade of the island and the shut-down of the France’s largest port, Marseille.