Go-go boys and drag queens waved rainbow-colored flags as hundreds of thousands of dancing revelers clogged a downtown avenue to celebrate gay pride on Sunday.
Organizers said they expected 1.5 million people to attend the Eighth Annual Gay, Lesbian, Bisexual and Trans-gender Pride Parade, which would make it the world's biggest gay event.
Sound trucks blasted techno-pop and disco music for the huge party.
Police said they would provide a crowd estimate later Sunday.
Sao Paulo is South America's largest city and the center of gay activism and visibility in Brazil, with about 85 bars, restaurants and clubs catering to the gay clientele.
"This event helps a lot. People need to get used to us (gays)," said Edilson Gomes, a 24-year-old law student who came to the parade with his partner. "This helps to promote gay marriage, we -- as a couple -- would need it."
Civil unions between same-sex couples are permitted only in Brazil's southernmost state, Rio Grande do Sul. While the practice has not spread to other states, the unions have stirred surprisingly little controversy in this predominantly Roman Catholic country.
A bill that would allow civil unions throughout the country has been held up in Congress for years by a group of Evangelical Protestant lawmakers.
Still, homosexuality is widely tolerated in Brazil. The parade had an ample share of heterosexual supporters, such as Rosangela Rocha, a 50-year-old housewife, who came with two female friends.
"We are here to honor the gay community. We didn't succeed in getting our husbands to come along, though, they're very macho," said Rocha, who wore a heavy jacket but looked on approvingly at the young men parading shirtless in the 50-degree Fahrenheit (10-degree Celsius) weather.
Sao Paulo Mayor Marta Suplicy gave a speech to open the parade, as she did last year, proclaiming her pride in the city's diversity.
The parade, which began in 1997, attracted about 1 million people last year.
At Sunday's parade, 24 sound trucks blasted techno-pop and disco, to the delight of the crowd.
Revelers unfurled a 50-meter-long (55-yard) rainbow flag, and health ministry workers distributed 50,000 free condoms.
Gay pride also is being celebrated in 22 other Brazilian cities in June and July, including Rio de Janeiro next Sunday.