Shikhandin was born a girl, the daughter of King Dhrupad of Panchala. In her previous life, she was Amba, the daughter of the king of Kashi and was in love with the prince Shalva. Before she could choose him to be her husband, Bhishma abducted her and her two sisters from their swayamvara for the prince Vichitravirya. When she told Bhishma of her love for Shalva, he set her free. As she had been abducted once, Shalva refused to marry her. She went to Bhishma and told him that as he had abducted her, it was now his duty to marry her. Bhishma stuck by his pratigya and refused to marry her. Amba then vowed to be the cause of his death. She did tapa of Lord Shiva who granted her the boon that in her next life she would be born a girl to become a man later – the one who would be the cause of Bhishma’s death. Upon receiving the boon, Amba did not wait to live out her life; she immediately jumped into the fire and killed herself.
Hence, Shikhandin was born a girl. A heavenly voice told Dhrupad that she would become a man one day and hence, was brought up a boy. She was married to King Hiranyavarma’s daughter as a man, but the daughter came to know of the deceit and left Shikhandin. Shikhandin then went into the forest where she met Sthunakarna, a ‘yaksha’ or demigod. He heard her story and agreed to exchange his manhood with Shikhandin for some time. The Lord Kubera was Sthunakarna’s master and when he heard what had happened, he cursed Sthunakarna that he would only be able to get his manhood back after Shikhandin’s death.
The Pandavas, led by Yudhisthira, on the ninth day of the Mahabharata war, go to Bhishma and ask him how they could kill him. Bhishma knew the time had come to repay Amba’s debt and he told them that if a woman came in front of him on the battlefield, he would put down his weapons. Krishna knew that Shikhandin had been born a woman and so asked Arjuna to put Shikhandin in his chariot and fire arrows at Bhishma. On seeing Shikhandin, Bhishma put down his weapons and Arjuna’s arrows felled Bhishma.