The ban is due to come into effect in May and would bring Austria more into line with fellow European Union countries, many of which have far stricter smoke-free legislation, including Britain, Hungary and Bulgaria.
More than half a million people in Austria have signed an official petition calling for the ban to go ahead, embarrassing the ruling coalition of conservatives and the far-right Freedom Party (FPO), which has championed both the freedom to smoke and direct democracy.
An FPO demand to have the ban scrapped was written into the coalition agreement struck three months ago. Now that parliament has approved the bill, it must still be approved by the upper house and signed by the president. It is widely expected to pass both.