Only those with a valid reason for travel, like cross-border commuters and delivery drivers, are allowed through, officials said. German citizens and people with a residency permit will be allowed to return to the country.
German Interior Minister Horst Seehofer announced the measure at a press conference on Sunday evening, along with closures to Germany's borders with Austria, France, Luxembourg and Switzerland.
“The spread of the coronavirus is progressing quickly and aggressively…one of the most important measures will be to cut off the chain of infection,” he told reporters as he announced the new border controls.
The measures took effect in Denmark from 8am, Danish state broadcaster DR said, although it reported very little traffic queuing to cross the border in the direction of Germany.
In a press release, the Danish police said that the border would be closed to Germany for an initial 10 days.
They said the closure was being coordinated with the new Danish border controls, with border crossings allowed only at Kruså, Frøslev and Sæd. The German police are responsible for handling the task.
Those “without a significant reason to travel” and those suspected of having been infected with the virus will not be allowed to cross the affected borders, Seehofer said.
Henrik Frandsen, the mayor of Tønder, a Danish border town, said that although the closure was temporary, it would be still be difficult for the region, especially as it comes at a time when the town was set to celebrate the 100th anniversary of the referendum which saw Northern Schleswig return to Danish rule.
“Everyone had been looking forward to a fantastic celebration of the reunion year. Right now a lot of that is on standby. It is very unfortunate,” he told DR.
Germany's decision came two days after Danish Prime Minister Mette Frederiksen on Friday announced that the border would be closed in the other direction.
The Danish border closure shares many of the same exceptions, with goods, medicines and working commuters all able to continue passing back and forth.
The move came as Denmark on Sunday night reported its third death due to the virus. The latest official figures from Saturday morning put the total number of registered infections at 864, of whom 28 are hospitalised and two in intensive care.