Around 10,000 banner-waving strikers marched in Geneva's city centre at around 5.30pm, according to organizers, although police estimates were lower.
While essential services were maintained, the strike was widely supported by public sector workers, local media said.
Around 200 employees gathered outside the Geneva University Hospital (HUG) to show their support, while others involved included teachers, utility workers, police officers, prison staff and government workers, broadcaster RTS reported.
Two-thirds of teachers walked out, leaving schools in the canton with minimal service for students, RTS said.
Public transport workers supported the strike but stayed on the job to keep trams and buses operating, however, the demonstration caused major traffic snarls in the downtown area.
The strike action, the most significant seen in Geneva in more than 15 years, was called over plans by the government to to cut labour costs by five percent between now and 2018.
Among the measures envisaged are an increase in the work week to 42 hours from 40 and the non-replacement of positions as they fall vacant.
Mauro Poggia, minister of employment, social affairs and health, said the government had to take action to deal with its “colossal debt”.
Poggia told RTS radio the government had left the door open for negotiations and welcomed any alternative solutions employees might have.
“Unfortunately, we have not received any from them.”
François Longchamp, president of the cantonal government, told the broadcaster that the canton was in a difficult situation with reduced tax revenues and uncertainty due to the impact of the strong franc and the decision by Swiss voters to cap immigrants.
Civil servants have decided to strike rather than negotiate or offer their own proposals, Longchamp said.
"Our budget for next year envisages neither layoffs, nor reductions in salary, nor deterioration in conditions for retirement . . . which, moreover are the best in all of Switzerland," he said.
"Some of these elements should also be taken into account."
On Wednesday, Geneva public sector workers will be joined by unionized construction workers who are planning a day of protest, following similar demonstrations this week in Ticino and German-speaking Switzerland, in support of better working conditions.
The developments are unusual because strikes are rare in Switzerland, although technically, the construction workers' day of protest is not a strike.
Unions have blamed right-wing politicians for putting Geneva in a difficult financial situation by continually cutting taxes since 1996 and essentially favouring the richest people in the canton.
Neither workers in the public service nor members of the public should have to pay the bill for irresponsible decisions made by the “bourgeois” parties, one group said in a press release.
Alessandro Pelizzari, spokesman for the Unia union in Geneva, complained that there was a “political willingness” to let inequalities deepen in Switzerland.
The Swiss franc has been allowed to strengthen against the euro because of political policies which have also supported austerity measures across the country, Pelizzari told RTS.
It's up to unions to “weigh in” with force against such policies, and it seems that they have to threaten job action to gain the smallest improvements in working conditions and to even stop conditions from worsening, he said.
“There are fewer staff and more and more students,” primary school teacher Juan Francisco, one of the pickets at the city centre rally, told 20 Minutes newspaper.
“It's a bad pattern that's developing.”
The daily quoted Marc Simeth, head of a group of unions for public workers, saying that continuing to strike was the only solution “to force the government to listen to us”.
A demonstration is planned on Wednesday at 8.30am on the Pont du Mont-Blanc, a busy thoroughfare for commuting motorists. This is likely to lead to tailbacks.