You are not permitted to download, save or email this image. Visit image gallery to purchase the image.
Faced with a stubbornly high number of vaccine holdouts and a surge in infections, the government said in November last year it was planning the mandate. Since then it has raised the age as of which the mandate will apply, to 18 from 14.
The bill must now pass the upper house and be signed by President Alexander Van der Bellen, steps which will be largely formalities.
Roughly 72% of Austria's population is fully vaccinated against Covid-19, one of the lowest rates in western Europe. After a fourth national lockdown ended last month, the extremely contagious Omicron variant has pushed infections to record levels but the government wants to avoid another lockdown.
"Making Covid-19 vaccination compulsory is an emergency exit... out of the constant restrictions on our personal and fundamental rights like the ones we have had to endure in the past two years," the leader of the opposition Social Democrats, Pamela Rendi-Wagner, who is also a doctor, told parliament on Thursday.
Many lawmakers from her party and the liberal Neos backed the bill, joining the government coalition of conservatives and Greens, meaning it cleared its main hurdle easily with 137 votes for to 33 against.
The bill imposes fines of up to €600 ($NZ1000) on holdouts once checks begin on March 15. Those who challenge that initial fine unsuccessfully face a maximum fine of €3600.
Italy has made Covid-19 vaccinations compulsory for those aged 50 and older, while Greece has done the same for over-60s, and various European countries have done so for some professions like medical staff.
"This vaccine mandate strips people of their rights. In one move, millions of Austrians will be downgraded," said Herbert Kickl, leader of the far-right and anti-vaccine Freedom Party.
He added that the mandate would make holdouts "second-class citizens" and his party would challenge it in the courts.