Vaanaprastham tells the story of Kunjikuttan(Mohanlal) who is the illegitimate son of a landlord in a lower cast woman. The landlord rejects the fatherhood of Kunjikuttan. He studies kathakali, the classical dance form of Kerala and becomes one of the most reputed kathakali artists of the time.
Kunjikuttan meets Subhadra (Suhasini) who is a high society woman, during a kathakali performance in a palace. Subhadra falls in love with him, not with the actor Kunjikuttan, but the role of Arjuna the hero of Mahabharatha he played on the stage. She urges him to make love with her, wearing the costumes of Arjuna. Subhadra announces that she is pregnant. She gives birth to a son, but doesn't allow Kunjikuttan to see the child. Only once she allows him to see his son in the costumes of Arjuna. Thus Kunjikuttan, a son who was deprived of his father earlier is deprived of his son too.
The movie ends with Kunjikuttan's last performance as Arjuna along with his daughter in his wife Sharada as Subhadra, Arjuna's love, thus creating a shock to Subhadra, among the audience. Thereafter Kunjikuttan disappears after sending Subhadra a last letter.