The British Prime Minister used his debut speech at the United Nations to denounce Mahmoud Ahmadinejad.
David Cameron, speaking just after diplomats from 30 countries left the hall in a mass protest against the Iranian leader's presence, gave a speech attacking Mr Ahmadinejad's record.
He said that while elections were a crucial part of the Arab Spring revolutions, they would not be enough to ensure democratic governance, as the case of Iran showed.
"He didn't remind us that he runs a country where they may have elections of a sort but they also repress freedom of speech," said Mr Cameron. "Where they do everything they can to avoid the accountability of a free media, violently prevent demonstrations and detain and torture those who argue for a better future.
"We should never pretend that having elections is enough."
Mr Cameron refused to reveal what Britain's position would be in a Security Council vote on a Palestinian state, but he said one fact was clear. "No resolution can, on its own, substitute for the political will necessary to bring peace.
"Peace will only come when Palestinians and Israelis sit down and talk to each other, make compromises, build trust and agree. Our role is to support this, to defeat those who embrace violence, stop the growth of settlements and support Palestinians and Israelis alike to make peace."
In his speech, Mr Ahmadinejad espoused conspiracy theories on subjects including the September 11 attacks and the Holocaust.
He said Zionism was viewed by the West as a "sacred notion and ideology" and referred to the "arrogant powers" that threatened anyone who was willing to "question" the Holocaust or the September 11 attacks.
BICOM Chairman Poju Zabludowicz welcomed Mr Cameron's comments. "I congratulate him on his address and warmly welcome his clear support for face to face negotiations between Israelis and Palestinians," he said.
"We urge the British Government to continue to work towards avoiding any unilateral steps which would undermine such efforts."