Non-essential shops will close across the country from Wednesday, as will schools, with children to be cared for at home wherever possible.
Chancellor Angela Merkel blamed Christmas shopping for a "considerable" rise in social contacts.
The latest figures showed 20,200 more infections and a further 321 deaths.
The new lockdown will run from 16 December to 10 January. Announcing the move after meeting leaders of the country's 16 states, Mrs Merkel said there was "an urgent need to take action".