The government said it expected to apply a limit to the number of work permits issued over 12 months from May.
Switzerland is not an EU member. It signed up to the bloc’s freedom of movement rules, but claimed the right to extend limits it already imposes on eight eastern EU states.
EU foreign policy chief Catherine Ashton criticised the move.
“These measures disregard the great benefits that the free movement of persons brings to the citizens of both Switzerland and the EU,” said a statement from her office.
It said the measures were in violation of the free movement agreement.
EU officials have always told Switzerland it cannot cherry pick only those parts of European policy it likes best.
The BBC’s Imogen Foulkes reports from Berne that the Swiss government has come under pressure from both the right-wing People’s Party, and the Green Party, which say immigration has reached unsustainable levels.
Switzerland has low unemployment, high salaries, and a safe currency.
Even before the start of the eurozone crisis, large numbers of highly skilled workers from Germany and France were seeking jobs in Switzerland, our correspondent says, and in the last two years many more have arrived from Spain, Portugal and Italy.
A government statement said the number of people arriving in Switzerland had exceeded the number leaving by up to 80,000 in recent years.
Limiting work permits “can help to make immigration more acceptable to society”, the statement said.
BBC © 2013