Bribes paid by companies to private individuals and money spent to facilitate crimes will no longer be tax-deductible in Switzerland.
The Alpine nation, which has been trying to shed its reputation as a tax haven, said the new rules would go into effect in 2022.
Outside groups have been calling for such reforms for years.
Under Swiss law, bribes to public officials were already denied favourable tax treatment.
The government said the latest update, which has been under discussion for at least five years, "harmonises" tax law with its criminal code, which banned private bribery in 2015.
It will also bring it into compliance with recommendations from the Organisation for Economic Cooperation and Development (OECD).
As of 1996, about half of the countries in the OCED allowed companies to deduct bribes paid to foreign officials from their taxes, including Germany, France, Australia, New Zealand and Switzerland. They argued that such practices were routine business expenses in some countries.
But views of such practices have shifted, as international organisations like the OECD push for tougher rules against money laundering and bribery. The OECD has said favourable tax rules help to normalise such practices.
Switzerland changed its tax rules for bribes to public officials in 2001. It made it a criminal offense for a company to bribe a private individual in 2015.
The European Union removed Switzerland from its list of tax havens only last year.
As part of the reforms announced on Wednesday, the government said it would also bar companies from deducting foreign fines from their taxes - except in "exceptional cases" if the sanctions "violate Swiss public policy or if a company credibly demonstrates that it has taken all reasonable steps to comply with the law".