A march against "Islamisation of the West" took place in Dresden yesterday, with about 10,000 people turning out in the eastern German city.
A big counter-demonstration was also organised, but similar in size.
Dresden is the birthplace of a movement called "Patriotic Europeans Against the Islamisation of the West" (Pegida), which staged a big rally a week ago.
Justice Minister Heiko Maas called Pegida's protests "a disgrace". But the Eurosceptic party AfD is sympathetic.
"Most of their demands are legitimate," said Bernd Lucke, leader of the conservative Alternativ fuer Deutschland (AfD), which has campaigned for a tougher policy on immigration, as well as rejection of the euro.
In the western city of Cologne, about 15,000 people attended a demonstration on Sunday to promote tolerance and open-mindedness, under the motto: "You are Cologne - no Nazis here."
Immigration has become a hot topic in Germany this year amid a surge in the numbers of asylum seekers, fuelled by the wars in Syria and Iraq. Germany takes in more asylum seekers than any other country.
German media report that Pegida grew out of a Facebook group launched by Lutz Bachmann, 41, a chef-turned-graphic designer. He insists that he is not racist. He has admitted to past criminal convictions, including drug-dealing. He says he spent two years in prison.
The AfD leader in Dresden, Frauke Petry, said Pegida "is protesting against inadequate legislation on asylum rights - they are also demanding that German law be applied against lawbreakers, and they are opposing religious extremism".
The centre-left Social Democrats (SPD) - in the ruling coalition with Chancellor Angela Merkel's Christian Democrats - called Pegida's organisers "Nazis in pinstripes".
Police sources, quoted by the Spiegel online news website, said hundreds of Pegida activists in Dresden were members of two hooligan groups regarded as far-right.
Minister Maas said Pegida must be "unmasked", and he called for a "broad counter-movement embracing civil society and all political parties."