India's highest court has upheld a colonial-era law making homosexuality a crime, dealing a blow to gay rights across the country.

The decision by the Supreme Court reverses a 2009 Delhi Court order which had decriminalised homosexual acts. It comes in the face of years of campaigning by gay rights activists against strong religious opposition in India's deeply conservative society.

Under Section 377 of the Indian Penal Code, same-sex relationships are considered "an unnatural offence".

Download the new Independent Premium app Sharing the full story, not just the headlines

The law, dating back to the 1860s, when Britain ruled over South Asia, states that "whoever voluntarily has carnal intercourse against the order of nature with any man, woman or animal" can be punished by up to 10 years in prison.



The 2009 New Delhi High Court ruling, which said the law violated fundamental human rights, was welcomed by India's gay community but infuriated conservatives and religious groups who say homosexuality represents a threat to traditional Indian culture.

In a ruling today, judges said only lawmakers and not the courts could change the law.

Supporters of gays, lesbians and transsexuals vowed to continue pushing for the law to be removed. After the ruling, dozens of activists outside the court began crying and hugging each other in consolation.



"This is a very sad day for us, we are back to square one in our fight for the democratic rights of the gay community," said Ashok Row Kavi of the activist group Humsafar Trust.

"We feel very let down," said lawyer Anand Grover, who had argued the case on behalf of the advocacy group NAZ Foundation. "But our fight is not over and we will continue to fight for the constitutional right."



He said the foundation would ask for the Supreme Court's decision to be reviewed.

Additional reporting by Associated Press