There will also be a slight easing of restrictions on four working weekdays during the mini lockdown.
Travelling between regions is not permitted, however, and a 10pm to 5am curfew will remain in place throughout.
Prime Minister Giuseppe Conte called the limits "a painful decision". "Our experts were seriously worried that there would be a jump in cases over Christmas... We therefore had to act," he said in a news conference.
The announcement followed days of wrangling in the governing coalition over how strict the lockdown should be following the introduction of internal travel bans earlier this month.
In clamping down on holiday celebrations, Italy joins Germany and the Netherlands, which also imposed new coronavirus-related restrictions this week, although both with some relaxation on Christmas Day itself. Austria will also enter lockdown from Boxing Day.
Angela Merkel urged Germans yesterday to avoid visiting family members over Christmas and to use video calls instead for greetings, the way service members stationed abroad do.
"Women and men stationed far away from home to ensure our security know what it means to have limited contact with loved ones," Merkel said in her weekly video podcast. "They know what it means to only be able to Skype over a long period of time instead of being together," she said, referring to Microsoft's video calling system. In Spain, Madrid has said travel between regions to visit friends and family is allowed and a maximum of 10 people - including children - can meet on holiday days.
Likewise, Paris has allowed movement around the country, but with no limits on the number of people gathering. Bars, restaurants and cafés remain closed and there is a strict 8pm to 6am curfew that will be lifted only on Christmas Eve.
All across Europe, exceptional measures have been taken to celebrate the biggest holiday of the Christian calendar, including drive-through markets, live streamed nativity plays and socially distanced visits to Santa's Grotto.
Conte's announcement comes as Lombardy, Veneto and Lazio registered a rate of transmission of over 1, meaning the virus is again spreading in three key regions after weeks of decrease in the contagion curve. The national rate is 0.86, meaning on average the curve is flattening.