Critics say the bill is discriminatory against Muslims and violates constitution.

India’s Parliament has approved a controversial citizenship bill that grants citizenship to minorities facing persecution from three neighbouring countries – but excludes Muslims.

A day after clearing the lower house, the Citizenship Amendment Bill was passed on Wednesday by the upper house, with 125 members voting in its favour and 105 against it.

The bill brings sweeping changes to India’s 64-year-old citizenship law by giving citizenship to “persecuted” minorities – Hindus, Sikhs, Buddhists, Jains, Parsis and Christians – from Bangladesh, Afghanistan and Pakistan.

But critics say the legislation put forward by the Hindu nationalist ruling Bharatiya Janata Party (BJP) undermines the country’s secular constitution, with opposition parties, minority groups, academics and a US federal panel calling it discriminatory against Muslims.

“Muslim citizens of this country have no reason to worry,” Amit Shah, the federal home minister, said in Parliament. “This bill is intended to give citizenship, not take away citizenship.”

Several opposition parliamentarians said the bill would be challenged in court.

“The passage of the Citizenship Amendment Bill marks the victory of narrow-minded and bigoted forces over India’s pluralism,” said Sonia Gandhi, leader of the main opposition Congress party.

Meanwhile, Prime Minister Narendra Modi said it was a “landmark day for India” and the passage of the bill would “alleviate the suffering of many who faced persecution for years”.

“Glad that the #CAB2019 has been passed in the #RajyaSabha. Gratitude to all the MPs who voted in favour of the Bill,” Modi tweeted after the vote in the Rajya Sabha, the upper house.

A landmark day for India and our nation’s ethos of compassion and brotherhood! Glad that the #CAB2019 has been passed in the #RajyaSabha. Gratitude to all the MPs who voted in favour of the Bill. This Bill will alleviate the suffering of many who faced persecution for years. — Narendra Modi (@narendramodi) December 11, 2019

Al Jazeera’s Anchal Vohra, reporting from the capital New Delhi, said, “There is a palpable sense of fear in areas where Muslim Indian citizens live.”

Protests against the measure have flared in various parts of India, including the ethnically diverse northeast, where people fear that undocumented Hindu migrants from neighbouring Bangladesh could be granted citizenship.

In Assam state, thousands of people protested overnight across several towns and cities, some joining processions carrying torches. Police said they used tear gas to push back protesters in at least two cities.

A demonstrator holds a placard during a protest against the Citizenship Amendment Bill in Ahmedabad [Amit Dave/Reuters]

“We have seen massive protests in the northeast of India today that have turned violent. Police reacted and fired tear gas at them. We have also learned that the Indian army is on standby in the state of Assam,” Vohra said.

“Some of these people are protesting, saying they don’t want any migrant to be given Indian citizenship – whether Hindus or Muslims – because they want to protect their indigenous culture,” she added.

Faizan Mustafa, an expert on constitutional law and vice chancellor at NALSAR University of Law in Hyderabad, said the bill goes against the country’s constitution.

“It is arbitrary because it’s not based on reasonable classification, it doesn’t have rational objective to achieve, it does not cover all the neighbours, it doesn’t cover all the persecuted minorities,” Mustafa told Al Jazeera.

“It is constitutionally suspect and legally untenable but let’s see what the Supreme Court does in this case,” Mustafa added.

‘Second-class citizens’

Modi’s government – re-elected in May and under pressure over a slowing economy – said Muslims from Afghanistan, Bangladesh and Pakistan are excluded from the legislation because they do not face discrimination in those countries.

Also left out are other minorities fleeing political or religious persecution elsewhere in the region such as Tamils from Sri Lanka, Rohingya from Myanmar and Tibetans from China.

Many Muslims in India say they have been made to feel like second-class citizens since Modi came to power in 2014.

Several cities perceived to have Islamic-sounding names have been renamed, while some school textbooks have been altered to downplay Muslims’ contributions to India.

In August, Modi’s administration rescinded the partial autonomy of Jammu and Kashmir, India’s only Muslim-majority state, and split it into two union territories.

A citizens’ register in Assam finalised earlier this year left 1.9 million people, many of them Muslims, facing possible statelessness, detention camps and even deportation.

Modi’s government has said it intends to replicate the register nationwide with the aim of removing all “infiltrators” by 2024.

Bilal Kuchay contributed to this report from New Delhi