He said they were destroying the very "essence of the human creature".
Benedict XVI made the comments in his annual Christmas speech to the Vatican bureaucracy – one of his most important speeches of the year.
He dedicated it this year to promoting family values in the face of campaigns in France, the US, Britain and elsewhere to legalise same-sex marriage.
In his remarks, Benedict quoted the chief rabbi of France, Gilles Bernheim, in saying the campaign for granting gays the right to marry and adopt children was an "attack" on the traditional family.
"People dispute the idea that they have a nature, given to them by their bodily identity, that serves as a defining element of the human being," he said. "They deny their nature and decide it is not something previously given to them, but that they make it for themselves. The manipulation of nature, which we deplore today where our environment is concerned, now becomes man's fundamental choice where he himself is concerned."
It was the second time in a week that Benedict has taken on the question of gay marriage.
In his annual message, Benedict said gay marriage, like abortion and euthanasia, threatens world peace.
Later gay activists staged a small protest in St. Peter's Square in Rome.