Thakur Bhanupratap Singh (Amitabh Bachchan) is the distinguished head of 'Sooryavansh' descent and the village Bharatpur, besides being the father of three sons. An otherwise devoted and benevolent son Heera Singh (Amitabh Bachchan, in a dual role) is disliked by his father Thakur Bhanupratap because of Heera being illiterate. Heera has to do menial household work and has substantially no kinship with Sooryavansh. Heera's ladylove is Gauri (Rachna Banerjee), who has been adopted by Thakur Bhanupratap after the demise of her parents in her childhood. Gauri studies in city and Heera awaits the weekends eagerly when she returns home. (Heera and Gauri's romantic attachment is featured by the song "Dil Mere Tu Deewana Hai") In due course of time, Heera proposes Gauri only to be turned down by the latter. The reason of her rejection is that she does not want to unite with an untaught man. She also makes Heera declare before Thakur Bhanupratap that he won't marry Gauri by his own choice. This adds to the wrath of Thakur Bhanupratap against Heera.
Heera's goodness captivates Radha (Soundarya), who happens to be a compassionate woman. She tries to make Heera leave behind his miserable past and proclaims her love for him. A reluctant Heera asks Radha to forsake him when Radha sings the song "Dil Mere Tu Deewana Hai", which is associated with his past melancholy. His close friend Dharmendra (Anupam Kher) encourages Heera to accept Radha. Soon Radha and Heera bind in a conjugal relationship, defying the impediments by many relatives and acquaintances.
This provokes Radha's mother (Bindu), who considers Heera ineligible for their educated daughter, subsequently enraging Thakur Bhanupratap. Thakur Bhanupratap relinquishes to Heera the latter's share of property, thus snapping the little tie he had with Heera. However, a humble Heera returns the property documents regarding his father's reprimand as his blessings.
Heera and Radha start living in the village outskirts and soon a son is born to them. Radha teaches Heera reading, writing and some arithmetic while she pursues her I.A.S. studies. In due course of time, Heera becomes a notable businessman and Radha the District Collector.
Thakur Bhanupratap incidentally comes across Heera and Radha's son, and after learning that the child is his grandson, develops a friendly relation with him. This happens unbeknownst to Heera and Radha. One day, Heera gives his son some canned kheer (rice pudding) to be offered to his friend after a premonition that this so-called 'friend' is his father Thakur Bhanupratap. Heera's mother (Jayasudha) comes to know about the secret meeting of Thakur Bhanupratap with his grandson and urges him to accept Heera back into their family. She praises Heera to be as valuable as a diamond. She says, "How can Thakur Bhanupratap, who is adhered to his high ideals, bow down to the fondness of a child? Nowadays, they are the children who drive their parents out of home whereas Heera is the son who has been expelled by his father." Thakur Bhanupratap apprehends Heera's goodness and rings him up when he is attacked by a serious malady apparently because of consuming the "kheer" offered by Heera. He is hospitalized and Heera is suspected of attempting on his father's life.
At hospital, Heera confronts Deshraj/Kevada Thakur (Mukesh Rishi) and his men when Thakur Bhanupratap arrives in Heera's rescue. It is then when Thakur Bhanupratap declares that Kevada Thakur had poisoned the "kheer" offered to him by Heera in an attempt to kill him because of his rivalry with the Sooryavansh ancestry. (Kevada Thakur has tricked Thakur Bhanupratap into leaving the "kheer" aside unattended in his car when he poisons it. Thakur Bhanupratap returns to his car and gets a whiff of kevada oil, which Kevada Thakur uses as fragrance.) A combat ensues between Thakur Bhanupratap and Kevada Thakur in which Heera fights his father's enemies until Kevada Thakur confesses his guilt.
In the final scene of the movie, the kith and kin of "Sooryavansh" unite, with Thakur Bhanupratap embracing Heera.