Sri Lankan President Gotabaya Rajapaksa declared a state of emergency in the country effective from midnight, a government notice said late on Friday.
The decision was taken in the interests of public security, the notice said.
It came as thousands of shops, schools and businesses closed on Friday as public and private sector workers in Sri Lanka went on strike, demanding the president and the government step down for their mishandling of the island's worst financial crisis in decades.
Hit hard by the pandemic, rising oil prices and tax cuts, Sri Lanka has been left with as little as $50 million in useable foreign reserves, the country's finance minister said this week.
Shortages of imported food, fuel and medicines has led to more than a month of sporadically violent anti-government protests.
On Friday, shops were shuttered in major cities around the country and commuters were left stranded as private bus and train operators joined the strike.
The main train station in Colombo's commercial capital was closed on Friday morning and only public buses were operational at the terminal nearby.
Healthcare workers also joined the strike, though emergency services remained operational.
Hundreds of university students and other protesters remained camped outside the main road to parliament where they started a sit-in on Thursday.
Opposition leader Sajith Premadasa told parliament on Friday the opposition wants to move a no-confidence motion against the president and the government next week.
Rajapaksa has refused to step down, instead repeatedly calling for a unity government led by him.
"We have called multiple times for the formation of a unity government or an interim government but it is the opposition that has refused to extend support," chief government whip and public security minister Prasanna Ranatunge told parliament on Friday.