Abandoning its previous calls for a 200-franc fine, the lower house voted by 102 to 71 in favour of the 100-franc limit touted by the upper house.
Switzerland’s largest party, the right-wing populist Swiss People’s Party, said it would not push for a referendum on the issue despite consistently arguing for higher fines for pot smokers, newspaper 20 Minuten reports.
Thursday’s vote marks the end of a protracted disagreement between the two houses of parliament.
The lower house, the National Council, proposed in March to set a fine of 200 francs for adults caught with less than 10 grams of cannabis – a higher penalty than that suggested by the government, a special committee, and the upper house, the Council of States.
Young dope smokers - and adults found with more than 10 grams of cannabis - will still face legal proceedings.