"The Supreme Court's ruling is a disappointing setback to human dignity, and the basic rights to privacy and non-discrimination," Human Rights Watch said.
The apex court's overruling of a landmark Delhi High Court decision of 2009 "failed to recognize everyone's internationally protected right to privacy and non-discrimination", it said.
The Supreme Court said the Delhi High Court order was constitutionally unsustainable, leaving it to parliament to repeal section 377 of the Indian Penal Code.
In July 2009, the Delhi High Court ruled that the "unnatural offenses" act could no longer be used against consenting adults.
That decision was the result of nearly a decade-long legal battle led by the Naz Foundation (India) Trust, a NGO addressing HIV among men who have sex with men.
The judgment was appealed by an assortment of conservative religious groups and individuals bringing the case to the Supreme Court.
Sexual rights and LGBT groups including Human Rights Watch have consistently called on the Indian government to repeal section 377 but the government did not take a stand, choosing instead to wait for the result of the Supreme Court appeal.
"Now the government should do what it should have done in the first place and seek to repeal section 377.
"The Indian government did not appeal the Delhi High Court ruling, presumably because it agreed with the decision.
"Now it should join countries like Australia and New Zealand that have already abolished this colonial law that they too inherited and take the lead on ending such discrimination," Human Rights Watch said.