Health Minister Adam Niedzielski told a news conference that the ban and a slew of other curbs would take effect from the start of next month.
Speaking to reporters after a meeting of a government crisis management team, Niedzielski said that travellers arriving from the seven countries would be subject to two weeks of quarantine even if they are vaccinated and test negative for COVID-19.
The new rules will apply to arrivals from South Africa, where omicron was first detected, Botswana, Eswatini, Lesotho, Mozambique, Namibia and Zimbabwe, public broadcaster Polish Radio's IAR news agency reported.
Moreover, arrivals from outside Europe's Schengen zone will have to undergo a 14-day quarantine unless they are fully vaccinated. The quarantine can be cut short after day eight if a person receives a negative PCR test result, the health ministry said.
In other restrictions, from December 1 to December 17, facilities such as cultural institutions, churches, sports centres, hotels and restaurants will only be allowed to be half full, Niedzielski told the news conference.
All these facilities are now allowed to operate at 75 percent of their capacity.
The limits will not apply to vaccinated people, reporters were told.
In addition, the maximum size of non-sporting social gatherings will be reduced from 150 to 100 people, while the maximum number of persons allowed to attend sports events held outside sports grounds will fall from 500 to 250.
Fewer people will also be allowed into shops, museums, gyms and fitness centres, Niedzielski announced, adding that the measures would be kept under review.
Omicron: 'variant of concern'
Omicron is potentially more contagious than previous variants although experts do not know yet if it will cause more severe COVID-19 than other strains, news agencies have reported.
South Africa's discovery of the variant has sparked global concern, a wave of travel bans and curbs as well as fears that it could stall recovery from the pandemic.
Over the weekend, cases were detected in several European countries, including Italy, Austria, the Netherlands and Poland's western neighbour Germany.
Poland on Monday reported 13,115 new coronavirus infections and 18 more deaths related to COVID-19, bringing the country's total number of cases during the pandemic to 3,520,961 and fatalities to 83,055.
(pm/gs)
Source: IAR, PAP, TVP Info
Click on the audio player above for a report by Radio Poland's Michał Owczarek.