Farrakhan, who was released from a hospital last month after undergoing surgery related to prostate cancer, said he believed God was angry with leaders who put politics and greed above public service.
He denounced the war in Iraq, saying George Bush, the US president, should be impeached or at least censured for his "wicked policies".
"Our president ... through deception and outright lies and the manipulation of the intelligence community ... manipulated the Congress after 9/11 to give him permission to go to war in Iraq.
"What should they do about a man who has been lying to America?" he asked.
"The real story is Saddam Hussein became an economic threat"
Louis Farrakhan, Nation of Islam
Turning to John Conyers, the House Judiciary Committee chairman on stage with him, Farrakhan added: "If you won't impeach him, sanction him."
Linking Bush's foreign policy to prophecies of the apocalypse, he said: "Why did they invade Iraq? Why did they kill Saddam? Why did they kill his sons?
"The real story is Saddam Hussein became an economic threat," Farrakhan said.
He urged young people to avoid joining a military that will have them "leave one way and come back another".
"I'm here to tell you brothers and sisters that's the worst decision you can ever make. This is going down, and if you join it you go down with it," he said.
Farrakhan's two-hour speech on Sunday at the Nation of Islam's annual convention was expected to be his last public address. But he did not name a successor despite much speculation that he would do so.
Farrakhan once called Judaism a "gutter religion" and suggested a government conspiracy of using cocaine to enslave blacks.
He was barred from entering Britain in 1986 because the government said he espoused racist views.
In 1996, the US government accused him of "cavorting with
dictators" after he met Muammar Gaddafi, Fidel Castro and Saddam Hussein.