The story is about brothers Karan Singh (Salman Khan) and Arjun Singh (Shahrukh Khan) being raised by a single mother Durga Singh (Raakhee Gulzar) in a rural Indian village. One day, when the brothers visit their rich grandfather at his mansion for the first time in twenty years, they are killed by the jealous Durjan Singh (Amrish Puri), who wishes to own the mansion himself. Durga refuses to accept the loss of her sons, and goes to the temple to pray to the goddess Kali. That same night, they are reborn into separate city families as Ajay and Vijay. Durga continues to pray regularly at the shrine, often being mocked by Durjan Singh's family.
Ajay (Salman Khan as reincarnation of Karan) grows up to be a champion prizefighter, and uses the proceeds to buy medicine for his alcoholic father. One day, a businessman called Saxena (Ranjeet) offers him the money he needs. However, when Ajay arrives at the hospital, Ajay's father has already died, and he cremates his father, returning the remainder to Saxena. Out of debt, Ajay agrees to work for him.
Meanwhile, Vijay (Shahrukh Khan as the reincarnation of Arjun) has grown up with his benevolent uncle, and a stablehand (Johnny Lever), after the death of his parents. He is an extremely skilled horseman and slingshot user, and courts the smitten Sonia Saxena (Kajol), who has been sent by Saxena to learn riding, and is planned to marry Suraj, Durjan Singh's son.
When Vijay is discovered to be Sonia's secret love, her father decides to marry her as fast as possible. Vijay then attacks the engagement party, beats up Suraj. Ajay is then called to fight Vijay. After laying waste to each other, a lightning bolt prevents Vijay and Arjun from killing one another, and when Saxena returns with a shotgun and tries to kill Vijay, Ajay struggles and stops him, while shouting "Run Arjun run!". Vijay escapes, but Saxena has Ajay imprisoned.
Sonia vows to commit suicide, so Vijay and the stable hand, Linghaiyya (Johnny Lever) vow to rescue her. Upon arrival in the village, Vijay is recognized as Arjun by Durga and the entire village. Though initially Ajay refuses to believe that he is Karan, flashbacks to his previous death make him re-assume his identity as Karan, and the brothers are reunited with their mother. The battered brothers are reprimanded by Durjan Singh and Saxena, who refuse to believe the reincarnation. Karan and Arjun eventually kill all of their bandits, and Arjun shoots Suraj after a long struggle. Durjan vows to kill them in front of Durga, but they beat him and shoot him dead. Durga then garlands Durjan. Finally Arjun gets married to Sonia and Karan gets married to Bindiya at the temple.