The country’s parliament voted to introduce the vaccine mandate for adults from February 1.
There will be maximum potential fines of up to 3,600 euros (£2,990) for people who do not comply.
Officials say the mandate is necessary because vaccination rates remain too low. As of Wednesday, 71.8% of the population of 8.9 million was considered fully vaccinated.
MPs voted 137 to 33 on Thursday to approve the mandate, which will apply to all residents of Austria aged 18 and over.
Exempted from the mandate are pregnant women, individuals who for medical reasons cannot be vaccinated, and people who have recovered from a coronavirus infection in the past six months.
Health minister Wolfgang Mueckstein, speaking in parliament on Thursday, called the measure a “big and, for the first time, also lasting step” in Austria’s fight against the pandemic.
“This is how we can manage to escape the cycle of opening and closing, of lockdowns,” he said, saying it is about fighting not just omicron, but any future variants that might emerge. “That is why this law is so urgently needed right now,” he said.
The Austrian government first announced the plan for a universal vaccine mandate at the same time it imposed a since-lifted lockdown in November, and amid concern that Austria’s vaccination rate was comparatively low for western Europe.
Chancellor Karl Nehammer’s governing coalition worked with two of the three opposition parties in parliament on the plan to implement the mandate.
It calls for the vaccine mandate to come into effect at the beginning of February, but enforcement will start in mid-March.
“I’m appalled, I’m stunned, I’m shaken and I’m shocked,” said far-right Freedom Party leader Herbert Kickl, calling the law “nothing more than a huge blow to the freedoms of Austrians”.
Pamela Rendi-Wagner, head of the opposition Social Democrats, said the vaccine mandate is something “that we all didn’t want” but that it “has unfortunately become necessary to close this vaccination gap that still exists in Austria”.