The Swiss government is to limit immigration from all EU states from May for a period of one year, in a move criticised by Brussels.
Immigration caps on eight central and eastern states will be extended to 17 other EU states. Bulgarian and Romanian migration is curbed separately.
Though not an EU member itself, Switzerland signed up to the bloc's rules on freedom of movement.
Brussels criticised the decision to impose the new new quotas.
There is concern in Switzerland about a growing influx of workers from poorer EU members.
When it signed up to the freedom of movement rules in 1999, the country claimed the right enact a "safeguard clause" if the annual influx of workers from countries exceeded a certain number.
From mid-2014 the clause becomes invalid, so the quotas can in theory only last for 12 months but Switzerland is due to hold two referendums aimed at limiting immigration.
Portuguese 'hardest hit'
The limits on the eight newer EU member states were first introduced last year.
From 1 May, the number of long-term residence permits granted to immigrants from those countries will be capped at at total of 2,180 for 12 months. The states concerned are Estonia, Hungary, Lithuania, Latvia, Poland, Slovakia, Slovenia and the Czech Republic.
From the same date, long-term residence permits for the 17 older EU states will be capped at 53,700 for 12 months.
Immigration to Switzerland from Bulgaria and Romania - the two newest EU states - is severely restricted, and may remain so for years to come.
In a statement from her office, EU foreign policy chief Catherine Ashton said the new quotas disregarded "the great benefits that the free movement of persons brings to the citizens of both Switzerland and the EU".
Since it first signed up to free movement of people, the vast majority of immigrants to Switzerland have come from traditional EU member states: first Germans, working in the health service, then Portuguese and Spanish, working in the tourist industry.
Free movement of people is supposed to mean what it says: citizens of EU and Switzerland are free to move and work anywhere in the bloc. But Switzerland negotiated a "safeguard clause" allowing it to introduce limits if immigration became too high. Now it has invoked that clause. The EU is angry about this, first because Switzerland is using it at all, second because it has separate quotas for different regions, when everyone in the EU is supposed to be treated the same.
Swiss employers, who say they are short of skilled labour, are angry too, but others claim the measures will not make much difference because the safeguard clause is valid only until 2014. But there are two referendums on the way aimed at limiting immigration, one from the Swiss People's Party, and one from environmental groups.
Switzerland, one of the world's wealthiest countries, is engaged in an intense process of soul searching - about money.
This year alone there have been two nationwide referendums on executive pay, one of which approved strict limits on bonuses and banned golden handshakes.
Now two more votes are on the way, the first on the introduction of a minimum wage, and the second, and most controversial, on a guaranteed basic income for all legal residents, whether they work or not.
A universal basic income sounds very radical, but it is not a new idea - Thomas More proposed it in his work Utopia in the 16th Century.
On the left, universal basic income is thought to be fairer, while on the right it is seen as the policy that would make welfare payments obsolete.
For Enno Schmidt, a key supporter of universal basic income, Switzerland is the perfect place, and 2013 the perfect time, to launch a campaign to introduce it.
"Switzerland is the only place in Europe, and maybe in the world, where the people have the right to make something real, [through] direct democracy," he says.
That system of direct democracy means the Swiss could vote for free beer if they wanted to.
To hold a nationwide referendum, all citizens have to do is gather 100,000 signatures calling for a vote, and the ballot must be held - the result is binding.
The anger among many Swiss voters at the news that some of their biggest banks, such as UBS, had continued paying top executives huge bonuses while also reporting huge losses, has led to a heated debate about salaries, and more widely, about fairness.
In that context, it was easy to gather the 100,000 signatures to hold the vote on universal income, and the government is expected to name a date for the referendum soon.