The film is set in 16th-century northern Kerala. The plot unfolds at Puthooram, the house of great Kannappan Chekavar (Balan K. Nair). Kannappan Chekavar adopts the son of his estranged sister when the boy loses both his parents and brings him to Puthooram to live and learn with his cousins. The orphan boy, Chandu, a quick learner, earns the love and admiration of his uncle, while he is loathed by his cousin Aromal (Suresh Gopi).
As they grow up Chandu (Mammootty) is betrothed to Chekavar's daughter, Unniyarcha (Madhavi). Several events unfold where in Chandu finds himself being pushed to the corner by his cousin. He flees to the kalari under the guidance of Tulunadan expert and master Chekavar, Aringodar (Captain Raju).
Chandu has to recount only losses in his life, as Aromal ensures his sister is not married to Chandu. He even deceives Chandu by usurping and marrying Kunjinooli (Chithra), who was in love with Chandu. The heartbroken Chandu moves ahead and continues to master the art of Kalari Payattu from Aringodar.
On wedding day of Aromal, Unniyarcha invites Chandu to her room. However Unniyarcha’s husband, the eunuch Kunjiraman (V. K. Sreeraman) sees them. Unniyarcha, the clever vixen that she is, convinces her husband that Chandu broke into her room as she was awaiting the arrival of Kunjiraman. Chandu gets a sobriquet: 'Womanizer Chandu.' A dejected Chandu finds solace in Kunji (Geetha), Aringodar’s daughter.
Feudal lord Unnichandror (Ramu) arrives at the footsteps of Aringodar and invites him to represent his cause in an angam (duel unto death) against mooppu feud with his brother Unnikonar (Devan). Unnikonar, in turn, invites Aromal to represent him. Chandu is now caught in a dilemma, when his uncle requests him to play second hand to Aromal in the angam against his teacher Aringodar. Unniyarcha also appears and offers to live with Chandu if he assists Aromal to win against Aringodar. A tempted Chandu, decides to second Aromal. Chandu takes on the task of revitalizing Aromal's swords by providing them for treatment to the blacksmith. However, Kunji, Aringodar’s daughter, bribes the blacksmith and makes them brittle.
On the day of the duel, Aromal, though highly skilled, is no match for the master Aringodar. To add to the misery, Aromal's sword breaks in two. As Chandu placates an attacking Aringodar, seeking time to replace the weapon, Aringodar obliges. Then wily Aromal throws his broken sword and kills an unguarded Aringodar.
Aromal is declared winner. As he retires to his resting place, Chandu follows him to tend to his injuries. Aromal blames Chandu of cheating, by treating the swords to make them brittle, and attacks him. Aromal kills himself in an accident by falling over a lamp. As people gather, Aromal breathes out his last words: "Chandu betrayed us!".
The ill-fated Chandu escapes the mob and finds the blacksmith, who informs that he was bribed by Kunji. Fighting his way through the entire contingent of guards, Chandu storms into Aringodar's household seeking Kunji. To add to his list of regrets, he finds Kunji has committed suicide by hanging herself. Chandu returns to Puthooram Veedu and is greeted by a raging Unniyarcha, who vows her sons will avenge her brother’s death.
Years later, Aromal Unni (Sanjay Mitra) and Kannapan Unni (Rasheed Ummer) (sons of Unniyarcha and Aromal Chekavar respectively) come to the kalari of Arangodar seeking revenge. Chandu explains to them the situation, hoping to avoid a duel. However after being repeatedly challenge Chandu easily beats both, once again showing his mastery. Thinking they will leave before bloodshed is inevitable he attempts to retire his weapons. The two young warriors are in no mood to leave in defeat and insist on a duel to the death. Aromal Unni announces himself, "I, son of Unniyarcha, will die or go back with your head." Chandu appears to relent to their provocations and turns his back to them to pray in preparation for the duel. But realizing that no one will ever be able to win against him, and reminded that Aromal is Unniyarcha's son, he commits one final act of valour: Chandu stabs himself with his sword. "You would have been my son," he tells Aromal Unni bitterly. He reaches out to the statue of his deity and dies, a valiant but misunderstood warrior, the greatest warrior of his age.