Zeinab Sekaanvand was convicted of killing her husband, whom she says beat her for months.
Her execution was postponed after she remarried in prison and conceived a child.
Last month she gave birth to a stillborn baby, putting her at risk of death by hanging as soon as 13 October.
Doctors said the young woman’s baby died in her womb two days before she gave birth as a result of the shock she suffered after her friend and cellmate was executed.
Amnesty International says Ms. Sekaanvand comes from a poor, conservative Iranian-Kurdish family, and ran away from home aged 15 to marry her first husband, Hossein Sarmadi.
She said she saw marrying him as her only chance for a better life. But not long after their wedding, she said, he started beating her regularly and verbally abusing her.
The young woman registered several police complaints against her husband, none of which were investigated. Her husband rejected her requests for a divorce, and when she tried to return to her parents, they disowned her for eloping.
Ms. Sekaanvand was 17 years old when her husband died. She was arrested, and allegedly confessed to stabbing him to death. She said she was held at the police station for the next 20 days and repeatedly tortured by police officers.
Before being convicted by a criminal court in West Azerbaijan Province, she retracted her confession and told the judge that her husband’s brother, who she said had repeatedly raped her, had committed the murder.
Ms. Sekaanvand said he promised to pardon her if she took the blame – as Islamic law allows a murder victim’s family to accept money in lieu of execution.
Iranian judges can spare under-18s the death penalty if they do not understand the nature of their offence. This was not investigated in Ms. Sekaanvand’s case, although an official examination found she was suffering from a “depressive disorder” characterised by insomnia and difficulty making decisions.