Thousands of people were expected at the weekend's protests, which were planned by various organisations.
However the Berlin Senate on Wednesday said the demos were not allowed.
The authority justified the bans on the grounds that the expected group of protesters would violate the current infection protection laws.
There were concerns they wouldn't wear face coverings or social distance.
The demos in early August had shown “that the participants had deliberately ignored existing hygiene rules and corresponding requirements”, said the Senate.
Berlin's interior senator, Andreas Geisel, welcomed the move.
“This is not a decision against freedom of assembly, but a decision in favour of infection protection,” he said.
We are still in the middle of the pandemic with rising infection numbers, said Giesel, adding that freedom of assembly does not mean people can disregard laws.
“Those who registered for the rallies that took place in Berlin at the beginning of August deliberately broke the rules they had previously accepted in discussions with the police – these included wearing a mouth-and-nose covering and keeping a 1.5-meter distance,” said Giesel.
(article continues below)
See also on The Local:
He added that this behaviour was unacceptable, saying Berlin should not be “misused as a stage for corona deniers, Reichsbürger and right-wing extremists”.
Opponents of the government's coronavirus restrictions had planned to march through Berlin-Mitte from 11am on Saturday August 29th, and gather in the afternoon on the Straße des 17. Juni near Brandenburg Gate.
The demonstration was to take place under the motto: “Assembly for Freedom”. The organisers reported 17,000 participants. A number of counter-demonstrations were also registered with the police.
READ ALSO: Dozens of police injured in Berlin protests
The protests on August 1st had caused major concern in Germany which is currently seeing a spike in confirmed coronavirus infections.
They also sparked a row over protest freedoms.
On Wednesday the Robert Koch Institute (RKI) had reported 1,576 new coronavirus infections within 24 hours. There have been around 236,429 confirmed cases since the pandemic began and 9,280 people have died.
The number of registered Covid-19 infections in Berlin increased by 66 on Tuesday. Since the start of the outbreak there have been 10,851 confirmed cases and 225 people have died.
Protests against coronavirus measures have also taken place elsewhere in Germany, but on a smaller scale. A protest in Stuttgart earlier in August saw 1,500 participants, and in northern Kiel 600 joined a protest.
READ ALSO: These are Germany's new coronavirus hotspots