Parliament has called on the Swiss government to make investments by foreign companies in Swiss firms subject to official approval.
The House of Representatives on Tuesday voted in favour of such a motion, despite opposition by the government and most members of centre-right parties.
The Senate had approved the proposal last year.
Opponents argued that state intervention was counter-productive and went against the rules of the World Trade Organization (WTO).
Economics Minister Guy Parmelin said innovative Swiss companies needed direct foreign investment and restrictions risked harming the country’s economy.
However, supporters said it was time to establish a legal basis to stop foreign investors who might “pose a threat to Switzerland’s security and public order”.
The decision comes following the takeover of the Swiss agrochemical company Syngenta by the state-owned ChemChina for $43 billion (CHF41.3 billion) in 2016.
About 50 Swiss companies have been taken over by Chinese firms over the past five years, according to a survey cited by the Neue Zürcher Zeitung newspaper.
The Swiss government now has to draft a bill which includes a legal basis to monitor direct investments by foreign companies and the creation of a control authority. The more detailed proposals still need to be discussed by parliament at a later stage.