Nightclubs will close for at least three weeks from 27th December.
Deputy First Minister John Swinney made the announcement on Thursday morning.
He said instead of asking nightclubs to enforce 1m social distancing between customers, a new law would require them to close instead.
Nightclubs will have the option to stay open by effectively becoming a bar but physical distancing and table service will need to be in place.
Funding will also be made available to support affected businesses, he added.