Russia’s president Vladimir Putin said that his country and Turkey would guarantee the truce.
The move is designed to pave the way for a political solution to the conflict after more than six years of war.
Mr Putin said it would be followed by peace talks between president Bashar al Assad’s government and the opposition.
Russia, a key backer of the Assad regime, said the truce would include 62,000 opposition fighters and that it had set up a hotline with Turkey – which backs the opposition – to monitor compliance.
Syrian state news agency SANA said the military “declares a comprehensive nationwide cessation of hostilities as of midnight”.
It said this followed “successes achieved by the armed forces” – an apparent reference to the capture of rebel-held neighbourhoods in Aleppo earlier this month.