Thousands of people in Mexico City have protested against a government proposal to legalise same-sex marriage, which they say would undermine traditional families.
Organisers said they were not opposed to gay or lesbian rights, but wanted to defend family values and the institution of marriage.
The demonstrators called for a meeting with President Enrique Pena Nieto.
Gay and lesbian activists staged rival protests.
Public opinion in Mexico, a predominantly Roman Catholic nation, has been split since Mr Pena Nieto announced in May plans to change the constitution.
Same-sex marriages are legal in some Mexican states, but Mr Pena Nieto wants it to be allowed across the country.
Last year the Supreme Court declared that a ban on such unions imposed in many of Mexico’s states was unconstitutional.
Leaders of the National Front for the Family, which organised the march, say they are not opposed to LGBT rights.
But they argue that Mexico has fallen victim of an ideological battle that threatens family values and the institution of marriage.
“In a democratic society you cannot impose a single thought,” said Mario Alberto Romo, a spokesman for the group.
Demonstrators are calling for a meeting with Mr Pena Nieto to debate the issue.
LGBT rights supporters turned up at the march to show their backing for Mr Pena Nieto’s proposal to legalise same-sex marriage, but police said there were no clashes.
Some of them carried banners that read: “I’m gay and I’m a Catholic” and “We also have families”.
Four Latin American countries have already legalised same-sex marriage: Argentina, Brazil, Uruguay and most recently Colombia.