Bangladesh has outlawed smoking in public places, including on transport.
Anti-tobacco activists have welcome the move
Parliament passed the ban on smoking in areas including schools, offices, hospitals and airports.
People caught smoking in public places will now have to pay a fine of 50 taka (80 US cents; 40 UK pence) under the new anti-smoking provisions.
Bangladesh earns nearly US$250m in taxes from tobacco products each year, but officials say the country spends more to cure tobacco-related diseases.
The new law also bans advertising of tobacco products in cinemas, newspapers or on television and restricts the installation of cigarette vending machines in public places.
Anti-tobacco groups, who have long campaigned against the growing use of tobacco products in the country, welcomed the move.
The World Health Organisation (WHO) said about half of Bangladeshi men and a fifth of its women use tobacco.