Parliament passed a law implementing the ban late on Sunday, setting a fine of 50 taka (80 US cents) for people caught smoking in places such as schools, offices, libraries, hospitals and airports.
The typical daily wage of a farm labourer in Bangladesh is 60 taka, just under one US dollar.
The law prohibits advertisement of tobacco products in cinemas, newspapers or on television in the country of 130 million people.
The World Health Organisation said about half of Bangladeshi men and one-fifth of Bangladeshi women use tobacco in either smoking or smokeless forms.
The global pact, signed by 167 nations, came into effect in February, despite what UN officials and activists say has been intensive lobbying by the tobacco industry.