Iran’s supreme leader wept openly over the flag-draped coffin of Qassim Soleimani at a vast public funeral in central Tehran on Monday as the Islamic Republic mourned the slain general and vowed to avenge his death.

Zeinab Soleimani, the general’s daughter, told the huge crowd of up to a million people that US would face “a dark day” when Iran retaliated for her father’s death in an American drone strike in Baghdad.

"Crazy Trump, don't think that everything is over with my father's martyrdom," she said. “The families of US soldiers in the Middle East will spend their days waiting for the death of their children.”

Ayatollah Ali Khamenei, normally a stony religious figure, could not hold back tears as he led the crowd in prayers. Some in the crowd burned US flags and effigies of Donald Trump as they chanted “Death to America”.

Soleimani’s death continued to reverberate around the region as Adil Abdul-Mahdi, Iraq’s prime minister, said he would push ahead with plans to expel American troops from Iraq despite warnings from Donald Trump that the US would retaliate with sanctions.