The Kauravas, who are from the Kuru lineage of the Hastinapur royal family, are envious of their Pandava brothers. Both of them have been trained in the battle skills by their guru Bheeshma Pitamaha (Amitabh Bachchan). The day arrives, when they have to prove their mettle. However, when the Pandavas defeat the Kauravas, it becomes too much for them to bear their superiority. In addition, Karn (Anil Kapoor), who is the son of the charioteer, is insulted by Arjun (Ajay Devgn). This prompts the vicious Duryodhan (Jackie Shroff) to make him one the Kshatriya lineage rulers before everyone present there.
Now with the help of Shakuni Mama (Anupam Kher), their maternal uncle, the Kauravas, set fire to the Pandavas resting place, who are fortunately saved because of Bheem's (Sunny Deol) intuition. They escape the place with their mother Kunti (Deepti Naval) and spend five years in forest, making the Kauravas believe that they are dead.
However, things change when they make a comeback during Draupadi's (Vidya Balan) Swayamvar and Arjun wins her hand in marriage by hitting the arrow right onto the fish's eye. This angers the arrogant Duryodhan who also insults Draupadi, who has also shown insolence towards Karn and Duryodhan himself.
After the Pandavas reclaim their part of the kingdom in Indraprastha, Duryodhan decides to make a visit to their fort once again with Shakuni, but this time he is insulted by Draupadi as a revenge for her insult. This drives him in a rage and hence begins the conflict between Pandavas and Kauravas, causing death and mayhem, the Mahabharat.