More than 100,000 protesters have taken part in a peaceful march in the southern Indian city of Hyderabad, chanting slogans against Narendra Modi’s new citizenship law.

The protest, labelled the Million March, was organised by an umbrella group of Muslim and civil society organisations. More than 40% of Hyderabad’s estimated population of nearly 7 million people are Muslims.

Demonstrators were still entering the protest site late on Saturday afternoon, according to a Reuters witness, despite police saying no march would be allowed and that permission had only been granted for a 1,000-person gathering.

The Indian government has faced weeks of acrimonious and, at times, violent protests against the Citizenship Amendment Act (CAA), which was passed by Modi’s government in December.

The Hyderabad protesters held placards with slogans including “withdraw CAA immediately”, and “India’s only religion is secularism”.

The Reuters witness said the protest remained peaceful, and estimated that more than 100,000 people were in attendance.

The new law eases the path for non-Muslim minorities from the neighbouring Muslim-majority nations of Afghanistan, Bangladesh and Pakistan to gain Indian citizenship. But, if combined with a proposed national register of citizens, critics of the CAA fear it will discriminate against minority Muslims in India and chip away at India’s secular constitution.

Modi’s government maintains the new law is necessary to help minorities facing persecution in Muslim-majority nations, and it has called the pan-India protests politically motivated.

At least 25 people have been killed in protest-related clashes with police since early December.

Protests against the CAA also went ahead in several other Indian cities on Saturday, with hundreds turning out in cities in the southern state of Karnataka.

Hundreds of people gathered at a rally in the tech hub of Bengaluru, with some accusing Modi’s government of trying to divide India along communal lines, to distract from a sharp domestic economic slowdown and job losses.

• This article was amended on 6 January 2019. An earlier headline incorrectly said “100,0000” had attended the Hyderabad protest.