This myth is nested within several other myths within the Mahabharata. There was a devout worshipper of (Siva who has been promised a son but could not produce one himself. His daughter, Princess Citrangada, succeeded in bearing a son by the hero Arjuna, who is given this reason for leaving his joint wife Draupadi (taking another wife in order to fulfil a boon granted by Siva).
Previously, Prince Arjuna was forced to leave home because he broke an agreement that the five brothers (the Pandavas) made in order to have privacy with their common wife Draupadi (also called Pancali, princess of Pancali). Any brother interrupting another would go into exile or on a pilgrimage for a year. So it happened that Arjuna made the mistake of intruding and honorably set forth. But before he could get to the right kingdom and be the agent of Siva’s grace for King Citravahana, Citrangada’s father, Arjuna had another adventure in a naga (serpent) kingdom. He married the naga princess Ulupi, who later became the nurse of his son with Citrangada. One Purana added the detail that Arjuna had a son by princess Ulupi before leaving the land of the serpents.
With this background, enough of the elements of Citrangada’s story were in place for the story itself to be told. Of course there were always more connections and versions that could be added for a really good audience.
Citrangada, daughter of King Citravahana of Manalur, instantly fell in love with Arjuna, and he with her, and she proposed to him. The king was overjoyed to acquire such an important prince and warrior as his son-in-law and sanctioned the marriage. A son was born to them named Babhruvahana before Arjuna needed to return home from exile. The naga princess Ulupi became Babhru- vahana’s nurse.
Much later, after the horse sacrifice (asva-medha) following the great battle of the plains of Kurukshetra, Arjuna had the honor of following the wild stallion in battle. Where the stallion wandered, Arjuna and his army followed, conquering each kingdom in turn. But when he reached Manalur, a young warrior, Babhruvahana, met Arjuna in battle and slew him. Then both Chitrangada and Ulupi came to the battlefield and saw their dead husband. Ulupi used the magic diamond, Mritasanjivani (“making alive the dead”), to bring Arjuna back to life. Then Arjuna took his two wives and his son back home to the Pandava capital of Hastinapura.