The right-wing nationalist party, while the largest in Swiss parliament, was opposed by all other major parties, the federal government and the business community.
But Christoph Blocher, the billionaire industrialist, former cabinet minister and vice-president of the party, said he and his party are vindicated by the result.
Voters narrowly supported the SVP initiative “against massive immigration”.
“The Swiss people have said Switzerland is ours,” the nationalist politician told state broadcaster SRF.
The result comes 12 years after he led an initiative, also accepted by Swiss voters, to keep Switzerland out of the European Economic Area — and the European Union.
In an interview with 20 Minuten, Blocher recalled a former Swiss government cabinet minister warning that if the country didn’t join the EEA “Switzerland would go kaput — it could not survive”.
What happened is just the opposite (with the Swiss economy showing stronger economic growth than the EU), although at the time Blocher and his supporters did not know that “EU politicians would cause such a mess”, he said.
“The EU advocates said at the time there would be no more bilateral agreements in the future,” Blocher said.
“Again, this was blatant misinformation.”
The SVP managed to attract the support of citizens in the country who fear that too much immigration — 1.9 million people are foreigners out of a total population of 8.1 million — was feeding a range of ills from housing shortages to transportation gridlock.
But opponents of the initiative remained vocal after the referendum result emerged.
Demonstrators, including foreigners, took to the streets in Bern, Zurich, Basel and Lucerne to protest the vote on Sunday night.
“Their Switzerland, our nightmare,” said one of the hand-written banners carried by militants in the Swiss capital in a rally that evolved spontaneously from an appeal on Facebook, the ATS news agency reported.
Protestors carried banners urging against fascism and racism in the peaceful rally, ATS said.
An estimated crowd of 700 people protested in Zurich, while several hundred blocked traffic and let off fire crackers in Basel’s city centre.