The resolution drafted by Canada was backed by a vote of 76 to 35 with 68 abstentions in a UN General Assembly committee. Support for the measure dropped by two votes from last year.
The resolution expresses "serious concern" over the use of the death penalty in Iran and calls on Tehran to end torture and other cruel treatment.
It also calls on President Hassan Rouhani to make good on his promises to address rights violations and make "demonstrable improvements as soon as possible."
Iran's Deputy UN Ambassador Gholamhossein Dehghani dismissed the resolution as "hostile" and "short-sighted," saying it ignored "the real threats to the most fundamental rights by violent extremists."
"The Iranophobia that the co-sponsors of the draft are trying to spread in this committee and beyond is to serve this process," he said.
Signup to our newsletter and follow us on Facebook and Twitter!
Dehghani urged the new government of Justin Trudeau in Canada to drop the annual exercise of drafting the "counter-productive and unjust" resolution on Iran's rights violations and begin talks to address concerns.
Iran has come under sharp criticism over its draconian use of the death penalty with more than 800 people executed this year, the highest total in years.
The country is on track to reach 1,000 executions by the end of the year, according to the UN rights rapporteur Ahmed Shaheed.
Among the countries that voted against the resolution were China, Russia, India and Iraq.
Human rights groups were expecting controversy over the draft resolution following the historic nuclear deal with Iran that opened up new avenues for cooperation with Tehran.
"The Iranian authorities shouldn't think that they are getting a pass on human rights just because the nuclear accord has been signed," said Sarah Lean Wilson, Middle East director at Human Rights Watch.