"According to preliminary estimates, around 4,000 people have taken part in the march," the police said.
Some 350 people have gathered to oppose the protest, without disrupting the march itself, the police also said, adding that there were only a few verbal altercations as the procession passed through the city.
Around 230 police officers were deployed to oversee a number of different protest actions across the city.
The march, which started near the Berlin Cathedral, had been called by activists close to the right-wing Alternative for Germany (AfD) party and the Querdenker movement, which had earlier opposed coronavirus restrictions. The latter is considered to be a right-wing populist group and brings together several radical-right organizations, including Pegida.
Protesters call for the resignation of the current German government, claiming it made mistakes in the country's energy policy and enforced unlawful coronavirus restrictions. They also demand the halt of weapon supplies to Ukraine and call for diplomatic resolution of the Ukrainian conflict and resumption of cooperation with Russia.
Western countries have been providing military aid to Ukraine since the start of the Russian military operation in February 2022. The aid evolved from artillery munitions and training in 2022 to heavier weapons, including tanks, later that year and in 2023. The Kremlin has consistently warned against continued arms deliveries to Kiev.