Indonesia has so far confirmed 369 coronavirus cases and 32 deaths. Jakarta, a city of 10 million people, alone has 215 infections and 18 deaths.
The emergency declaration coincides with a rapid increase in infections in South-East Asia.
Neighbours Malaysia on Friday said its coronavirus infections increased to 1,030 - the highest in the region and the fourth biggest in Asia, and said the army will help enforce movement curbs.
Jakarta Governor Anies Baswedan said public entertainment such as bars, spas and cinemas would be shut from Monday and public transportation limited. He urged companies to let staff work from home.
"Our medical teams across Jakarta are dealing with a great number of people. Our response capability has a limit because the numbers of hospitals and staff are not in line with the growth of cases," he said.
Jakarta had earlier this week suspended religious activities, such as Islamic Friday prayers and Christian services, for two weeks.
President Joko Widodo said earlier on Friday that he would use "all state power" to tackle the outbreak.
Indonesia, the world's fourth most populous country, has faced criticism from medical workers for a slow start to testing in an archipelago that stretches wider than the continental United States. It reported 60 new cases on Friday.
That along with 130 new cases in Malaysia and 50 in Thailand took the total number of infection in South-East Asia to over 2,500.
Malaysia is the worst affected country in the region. Nearly two-thirds of the coronavirus cases are linked to an Islamic gathering near Kuala Lumpur last month that was attended by 16,000 people.
In Malaysia alone, the event has been linked to nearly 624 cases, nearly two-thirds of its total number.
Citizens of two dozen countries attended, and at least 61 cases in Brunei, 23 in Cambodia and several in Indonesia, Thailand, Singapore and Indonesia have been linked to it.
Malaysian authorities are scrambling to track people who attended, including hundreds of Rohingya Muslims from Myanmar and other refugees.
About 4,000 of the 14,500 Malaysian residents who attended had yet to be screened for the virus, the government has said.
Malaysia reported 130 new infections on Friday and a third death in the country. It was the second death linked to the Islamic gathering.
Since Wednesday, Malaysia has closed its borders, schools and non-essential businesses for two weeks and ordered people to limit going outside, warning of a "tsunami" of cases if the curbs are not followed.
Defence Minister Ismail Sabri Yaakob said the army will help enforce the curbs from Sunday as some residents continued to disregard them.
People could be arrested if they defy the curbs without good reason, he said.
The health ministry also urged people to stay at home, saying 15 healthcare workers had been infected with the virus.
"Our simple message to the public today: Please help us to help you. Stay at home," Director General Noor Hisham Abdullah said on Facebook.
Vietnam's military also said it was mobilising with "combat readiness" to fight the virus, which emerged in central China late last year and is spreading around the world. - Reuters