Switzerland on Saturday approved the use of the Pfizer-BioNTech vaccine, with immunisation set to start just after Christmas as the country battles rising coronavirus cases.

The Swissmedic regulatory authority said it had given the green light following a two-month rolling review.

Switzerland has been recording more than 4,000 new cases and 100 deaths every day. There have been a total of 400,000 infections and nearly 6,000 deaths since the pandemic began.

"After a meticulous review of the available information, Swissmedic concluded that the Covid-19 vaccine from Pfizer-BioNTech is safe and that its benefit outweighs the risks," Swissmedic said.

Health Minister Alain Berset added: "We can start vaccinating in the coming days.

"Those who are particularly vulnerable will have priority," he said, referring to the elderly and those with pre-existing conditions.

These amount to some two million people in Switzerland, which has a population of 8.6 million.

Produced by US pharmaceuticals giant Pfizer and German biotechnology company BioNTech, the vaccine is based on a new technology that uses genetic material in the form of mRNA (messenger ribonucleic acid).

"The level of protection afforded seven days after the second injection is over 90 percent in adults," Swissmedic said of the data it reviewed.

The regulator said the most frequently-documented side effects were "comparable with those after a flu vaccination".

A poster in Bern reads: "In the market? Of course but with a mask"
A poster in Bern reads: "In the market? Of course but with a mask" AFP / Fabrice COFFRINI

The Swiss army will receive, store and distribute the vaccine doses, which must be kept at -70 degrees Celsius (-94 degrees Fahrenheit).

The army said it had verbal assurances from Pfizer-BioNTech that it will deliver nearly 107,000 doses in the coming days, then 250,000 per month from January.

Basel city said it was ready to start vaccinations on December 28.

Health minister Berset said the vaccine was not mandatory but was "strongly recommended" -- and free of charge.

The announcement came a day after the Swiss government said bars and restaurants would once again be closed across the country from Tuesday for at least a month.

"The number of infections is very high and is continuing to rise. Hospitals and healthcare workers have been under extreme pressure for weeks and the festive period increases the risk of an even more rapid rise in cases," it said.

Achieving sufficient immunity will take up to a year, and six months even "in the best case", said Virginie Masserey, the Swiss health ministry's vaccine strategy chief.

"It depends on how quickly people want to get vaccinated," she told a press conference.

Switzerland has secured around 15.8 million Covid-19 vaccine doses, in deals with three manufacturers.

It has signed contracts for around three million doses of the Pfizer-BioNTech vaccine, around 7.5 million doses of Moderna's vaccine, and around 5.3 million doses of the AstraZeneca vaccine.

Two doses are required per person for all the three vaccines.