In a kingdom stricken with drought for many years, Aravasu, a young Brahman, falls in love with Nittilai, a tribal girl, who seeks approval from her father and the village's elders before marrying him. Aravasu's brother, Paravasu, has been conducting a major fire sacrifice, the "yajna" ceremony, for seven years to appease the god of rain, Devraj Indra. Aravasu and Paravasu's father, Raibhya, dislike both his sons and suspect Vishaka, who is Paravasu's wife, of having an affair with Yavakri. Raibhya bases this on the fact that Yavakri and Vishaka loved each other before Yavakri left the village for 10 years to worship Devraj Indra in the jungle so that he could attain Brahma Jnana (supreme divine powers). After his return, Yavakri again tries pursuing Vishakha regularly on her way to and from the water well. She, at first, refuses him as she is married, but ultimately gives in, and they start having forbidden sex in the caves and the woods. One day, Nittilai and Aravasu see a full-water vessel, which Aravasu recognizes as being Vishaka's. Nittilai then sees both Vishaka and Yavakri making love in a cave. Nittilai first tries to run and take Aravasu with her, but she then frankly mentions it to Aravasu when he sees the naked Vishaka. This frankness is detested and angers Yavakri, who in turn angrily tells Nittilai that she is cursed and will die within a month. This scares Nittilai but angers Aravasu.
Upon reaching home, on being accused of adultery by Raibhya, Vishakha enraged tells him that she was with Yavakri. An enraged Raibhya summons a dark force, Brahma Rakshas to kill Yavakri.
He also declares that Yavakri can save himself if he enters the ashram of his father, this shall declare him as a coward. Yavakri, wanting to prove his strength waits for the demon to arrive. Vishakha warns him and tells him to flee to his father's ashram, which would allow both him and Raibhya to live; otherwise, if Yavakri defeats the Brahma Rakshas, Raibhya would have to immolate himself. But Yavakri refuses to be defensive and a dispute of distrust erupts between Yavakri and Vishakha, leading to an act of defiance by Vishakha. The demon slays Yavakri as he now runs to seek refuge in his father's ashram. Vishakha pleads Aravasu to cremate him; this delays his appointment with Nittilai's father and her village elders, and, as a result, she is forced to marry a fellow tribesman.
Parvasu sneaks in the night to meet Vishakha. Vishakha confesses everything and begs him to kill her, but Paravasu raises the arrow and shoots at his father. On his way back to yajna site, he is met by the demon, who calls him brother and as a cursed soul seeks salvation at his hands, but Paravasu rudely ignores him. The next day when Aravasu comes to the yajna site after cremating his father Paravasu blames Aravasu for the slaying and has him badly beaten up. When Nittilai hears of this, she comes to the rescue of Aravasu and finds that she is being hunted by her husband and her brother, who will kill her on sight for dishonoring the tribe's customs.
Sutradhar arranges an act to entertain the Devas and chooses Aravasu an important role. During the act, under the influence of bhang, Aravasu goes berserk, destroying the havan and throwing the offerings to the starved locals. Nittilai, in an attempt to stop Aravasu, exposes herself and is killed by her husband; Paravasu admits failure, confessing to murdered his father and cremates himself in the yajna's pyre. Finally appeased, Devraj Indra appears, and Aravasu is allowed a wish of his choice. Brahma Rakshas comes and begs him to set his soul free while Aravasu himself wants Nittilai back to live. Indra tells him that to bring back Nittilai he will have to turn the time back and to set the demon's soul free he will have to turn the time wheel forward. Aravasu, with teary eyes, asks Indra to set the Demon's soul free, which is followed by rain.