President Mahmoud Ahmadinejad said in an interview on CNN that homosexuality is a "very ugly behaviour" that he said was banned by "all prophets and all religions and all faiths."
In New York to attend the UN General Assembly, Ahmadinejad said that just because some countries support homosexuality that does mean his criticism of it means he is denying people's freedom.
He ridiculed politicians and parties who, he said, approve of gays and lesbians just to win "four or five additional votes."
More broadly he said supporting homosexuality had nothing to do with supporting human development.
"This kind of support of homosexuality is only engrained in the thoughts of hard-core capitalists and those who support the growth of capital only, rather than human values," the president said through an interpreter.
He insisted that people become homosexual, rather than being born that way, and dodged a question as to what he would do if one of his three children were homosexual.
The president said the world has myriad woes such as grinding poverty, repression and dictatorships, and he supports resolving them and championing human dignity.
Asked if such support for freedom should not extend to homosexuals, he said: "Homosexuality ceases procreation. Who has said that if you like or believe in doing something ugly and others do not accept your behavior, they're denying your freedom. Who says that?"