The law "bans wearing in public clothing that partially or completely covers the face", referring to the burqa or the more common niqab.
Infringements carry fines of 200 leva (USD 114), rising to 1,500 leva for repeated offences.
Bulgaria's mostly centuries-old Muslim community, dating back to conversions during Ottoman times, makes up around 13 percent of the population, mostly in the Turkish minority.
Muslim women in Bulgaria have generally worn just a simple scarf to cover their hair.
More From This Section
The often impoverished and marginalised Roma make up just under 10 percent of Bulgaria's population, around a third of whom are Muslim. Several Bulgarian towns had already banned the niqab at local level.
The legislation was approved despite opposition from the MDL Turkish minority party which accused the other parties of "sowing religious intolerance".
France and Belgium have both banned the burqa or niqab and Switzerland's lower house this week narrowly approved a draft bill on a nationwide ban. In August Germany's interior minister came out in favour of a partial ban.