Outgoing Chancellor Angela Merkel described the far-reaching measures as an act of “national solidarity”.
Only those who have been vaccinated or recently recovered from Covid will be allowed in restaurants, cinemas, leisure facilities and many shops.
Vaccinations could be made mandatory by February, the chancellor added.
Germany’s fourth wave of Covid is its most severe so far, with another 388 deaths recorded in the past 24 hours.
There is also growing concern about the spread of the Omicron variant, which EU health officials warn is likely to cause over half of all Covid cases in the next few months.
Mrs Merkel said hospitals were stretched to the point of patients having to be moved to different areas for treatment. “The fourth wave must be broken and this has not yet been achieved.”
“Given the situation, I think it is appropriate to adopt compulsory vaccination,” she said, while making clear that this would have to be approved by parliament.
Her successor Olaf Scholz, who is expected to take over as chancellor next Wednesday, had already said he backed the move, which would come a few weeks later than a similar Austrian law. Berlin Mayor Michael Müller said the vast majority of Covid cases were down to unvaccinated people.
The new measures are not described as a lockdown on the unvaccinated, although outgoing Health Minister Jens Spahn spoke earlier of a “quasi lockdown”.
Some German states already operate so-called 2G policies, and these will now become nationwide – 2G stands for genesen (recovered in the past six months) or geimpft (vaccinated).
Under the measures agreed by Germany’s 16 states and federal leaders:
Unvaccinated people will be limited to meetings with their own household and two other people
The 2G rule will be enforced at restaurants and cultural venues and non-essential shops
Clubs will shut in areas where 350 cases have been recorded per 100,000 people in the past seven days – the national rate is over 400
Up to 30 million vaccinations will be carried out by Christmas – first, second or boosters
Outdoor events, including Bundesliga football, will have limited crowds of 15,000 and 2G rules
Fireworks on New Year’s Eve will be banned
While vaccinations have been stepped up in Germany – with almost a million carried out on Wednesday alone – only 68.7% of the population has been vaccinated, a relatively low rate for Western Europe.
Seventy-nine cases of the new Omicron variant of Covid-19 have been reported in 15 European countries so far, according to the EU’s European Centre for Disease Prevention and Control.
Most cases were linked to travel to African countries while others were linked to connecting flights between Africa and Europe. The ECDC does not cover the UK.