The marches came days before the Delhi high court is expected to hear arguments on overturning a law against homosexual sex that dates back to the British colonial era.
The law, which forbids sexual acts "against the order of nature", carries punishment of up to 10 years in prison.
The law is rarely enforced, but activists say it sanctions discrimination.
"Discrimination is widespread because there is no protection or law or
societal understanding," said Lesley Esteves, 32, a gay rights activist who
helped organize the New Delhi parade.
"There's discrimination in the workplace; there's discrimination in the family, it's on every level," he said.
Between the rainbow scarves and feathered crowns, marchers waved signs calling for a repeal of the law banning gay sex and banners with slogans like, "Hetero-Homo Bhai-Bhai" - which translates loosely as "gays and straights are brothers".
The protests in all three cities were peaceful, though the number of police and journalists likely matched that of the marchers.
Mukhtar Abbas Naqvi, a senior leader of India's main Hindu nationalist party, the Bharatiya Janata Party (BJP), said he opposed the gay activists' march and called homosexuality "unnatural".
"I don't think it will be accepted in our country. Most of the people are traditional people, religious people, and it will not be accepted in Indian culture," Naqvi said.
Naqvi said BJP supporters did not protest the march because "we are not going to give importance to such behavior".