Police in the capital, Bern, have clashed with leftwing militants who tried to interrupt a planned election rally by the rightwing Swiss People's Party.
The violence is the latest sign of rising tensions ahead of an unusually divisive parliamentary election later this month.
Justice Minister Christoph Blocher - who is also the party's front man - accused the militants of seeking to suppress the freedom of speech.
"This day will go down in Swiss history," Blocher told a crowd of supporters at an improvised gathering.
He said the militants had prevented the largest political party in Switzerland from holding a peaceful demonstration.
Defence Minister Samuel Schmid, who also represents the People's Party in the seven-member cabinet, denounced the violence. He said Saturday's incidents were not in line with Switzerland's democratic traditions and values.
The mayor of Bern, Alexander Tschäppät, also condemned the violence. He said it was extremely frustrating to see that it is apparently not possible to stage peaceful demonstrations.
"Freedom of speech is a central pillar of our democracy. We will not allow any group of whatever political leaning to destroy democracy," said Tschäppät, who is a member of the centre-left Social Democratic Party.
The local authorities had come in for criticism for banning a protest by leftwing groups, but allowing the People's Party demonstration.
Several hundred militants prevented the estimated 10,000 People's Party supporters from marching through the streets of Bern to gather outside the parliament building.
Police fired teargas at the militants who went on a rampage and destroyed infrastructure for the planned rally on Parliament Square.
The protesters hurled rocks and bottles at security forces.
More than 20 policemen and demonstrators and policemen were injured in the skirmishes, a police spokesman said. Several dozen militants were detained for questioning.
A non-authorised demonstration by local left-wing groups was scheduled for the same time in Bern. Speakers criticised the People's Party for what they described as "xenophobic and fascist" policy.
An estimated 3,000 people attended the rally outside the city cathedral.
Opponents of Blocher also protested in Zurich and Geneva.
The demonstrations came as the election campaign draws to a close. It has been marked by use of controversial posters and efforts to ban minarets in Switzerland as well as allegations of a conspiracy against Justice Minister Blocher.
His party has gained popularity in recent years with its anti-European stance and its nationalist and isolationist message.
swissinfo with agencies
The rightwing Swiss People's Party is the biggest of the four governing parties.
It won 26.7 % of the votes in the 2003 parliamentary elections and is likely to keep its position in the forthcoming ballot on October 21.
The party has run a high-profile election campaign, notably accusing other parties of plotting to unseat its justice minister, Christoph Blocher.
It has also made the headlines with a controversial poster campaign aimed at criminal foreigners.