This evocative social drama follows the life of a villager, Bhagwaan (Rajinikanth) who is forced by dire circumstances like starvation to turn to a life of crime. He is drawn into the gang of slum crime lord 'dada' Shambu (Danny Denzongpa) where he falls into every crime but one: violence against women.
When an impoverished but honourable young widow hangs herself after being raped by Shambu Dada, the cries of her orphaned baby awaken Bhagwaan’s soul. He rebels against his former master. Bhagwaan vows to atone for his formerly evil life, and adopts the orphaned baby as his own son. The innocent young boy becomes Bhagwaan’s source of personal redemption and the inspiration for all that he does.
12 years later the man now lovingly hailed as “Bhagwaan Dada” has transformed the former crime-ridden slum into a safe and happy neighbourhood – Shantinagar – where his adopted son Govinda (Hrithik Roshan) has become the pride and joy of the whole community. Despite his own dark past, this loving father has worked hard to raise the boy as a good person with sound moral values.
At this time, Bhagwaan chances to rescue another naïve young man new to the big city – Swaroop (Rakesh Roshan) – when Shambu Dada's gang steal all Swaroop's money. Impressed with Swaroop's education as well as the similarity of situation to his own arrival in the city years before, Bhagwaan takes the "innocent and simple" villager under his protective wing. He arranges a good job, even brings Swaroop home to live with himself and his son, young Govinda. Swaroop and Bhagwaan claim each other as 'brothers'.
One day on a roadway nearby the district, members of Shambu Dada's gang assault a beautiful young woman whom Shambu lusts after. Swaroop hears her cries for help and tries to rescue her, believing as Bhagwaan does that: "It is every man’s duty to honour and protect women." But Swaroop is a gentle bookish soul who does not know how to fight. He is badly beaten by Shambu's men before Bhagwaan can rescue him in turn.
The young woman (Sridevi) who gives her name as Bijli insists on tending the wounded Swaroop who bravely tried to help her. Bhagwaan invites Bijli to come live at their house until she can find a place to stay. After some initial confusion when Govinda mistakes Bijli for his new 'uncle' Swaroop's wife, all four of them – Bhagwaan, Govinda, Swaroop, and now Bijli – live happily in Bhagwaan's modest home, Govinda remaining impishly determined to matchmaker between Swaroop and Bijli.
However, what neither Bhagwaan nor Swaroop realise is that Bijli is a streetwalker. Intercepted on her way out to work one evening, Bijli spills Bhagwaan a yarn about how she is secretly an undercover policewoman assigned to pose as a prostitute to arrest real prostitutes and their patrons. Bhagwaan believes her. He preserves her 'secret', and all four continue happily in the house just as before, ignorance being bliss.
The audience soon learn, though, that appearances are deceiving: Bijli is not, actually, a sex worker but rather working a fraud scam wherein she bilks potential ‘johns’ of money through clever ruses.
Meanwhile, Shambu Dada has sworn revenge against Bhagwaan for foiling his plan to abduct Bijli. After brutally beating to death one of his gangmembers who botched the abduction, Shambu dumps the corpse in Bhagwaan’s territory seeking to frame Bhagwaan for the murder.
The honest policeman Inspector Vijay (Paresh Rawal), though, is fully aware of Shambu Dada's crime empire activities as well as Bhagwaan's reformation. When Bhagwaan discovers the corpse and duly reports the murder, Inspector Vijay not only fails to arrest Bhagwaan but even introduces Bhagwaan to a newspaper reporter – Madhu (Tina Munim) – who is researching crime trends in the city, and recommends that she visit Shantinagar.
The street-savvy Bhagwaan helps Inspector Vijay set a trap that allows the police to capture Shambu Dada in possession of the murder weapon. Shambu is convicted and sentenced to life imprisonment. All seems well. Bhagwaan invites Madhu to attend a joyous public celebration in Shantinagar. When young Govinda mischievously invites Bijli to garland his 'uncle' Swaroop, we discover that the blushing Swaroop hides a growing attraction to Bijli.
When Madhu reciprocates Bhagwaan's invitation by inviting him and Swaroop to her birthday party at a fancy hotel, Bijli manages to talk her way along. After Bijli's comically jealous behaviour at the party, she confesses how she has come to love Swaroop, just as he loves her. She tries to explain that no future is possible between them. But Swaroop, ecstatic at learning his feelings are returned, simply won't listen. Unknown to all, however, the evil Shambu Dada has escaped during transfer between prison facilities. Shambu vows to revenge himself upon Bhagwaan at all costs.
While warning Bhagwaan of his danger at Shambu's escape, Inspector Vijay happens to mention that Bijli is not, in fact, working for the police at all but has actually been arrested, if released, on suspicion of prostitution. Bhagwaan angrily confronts Bijli. Devastated, Bijli humbly confesses she lied about working with the police. Bhagwaan strikes her and throws her out of the house … and the whole neighbourhood. When Swaroop returns home he wants to support Bijli but it is already too late: Bijli is gone.
All now seems lost for our lovers. However, a chance encounter with a doctor at a local hospital reveals Bijli’s true story: she has nobly sacrificed her reputation to raise money for the surgery and medicines needed to save the life of her sole surviving relative, a little sister, after the rest of their entire family were killed outright during the Bhopal Disaster. [1984 – cyanide gas cloud]
Abjectly chastened, Bhagwaan and Swaroop comb the city for the missing Bijli, and almost abandon all hope. Swaroop finally discovers 'Bijli' – whole real name is now revealed as Geeta – at the hospital. The lovers are reconciled. Bhagwaan begs Geeta to claim him as her brother. He pledges himself to both pay for the little sister's operation and see his 'sister' Geeta married happily to Swaroop at the earliest opportunity.
Swaroop's mother comes to welcome Geeta and bless Bhagwaan and Govinda – who is jubilant that his 'matchmaking' efforts succeeded – for their role in getting her son married. Geeta's little sister's operation is successful, so she also joins the household. The whole of Shantinagar eagerly helps with preparations for the upcoming wedding.
Madhu, who is herself becoming romantically interested with Bhagwaan, comes to Shantinagar on the day before the big event "to help with wedding work." Govinda persuades Madhu to help him distribute the last of the wedding cards throughout the community.
Hours later Bhagwaan becomes alarmed to discover that neither Govinda nor Madhu has come back. Some distance beyond the end of the city Bhagwaan comes across an exhausted and terrified Madhu, who explains how both she and Govinda had been kidnapped by the gang of the fugitive Shambu Dada and taken to a ruined fort hidden in the wilderness. Shambu intended to rape her, but brave young Govinda had attacked Shambu so that she could escape, asking her to "Bring Father" for help.
Deeper in the wilderness Bhagwaan finally finds little Govinda, who has been horribly mutilated and left to die. Govinda explains in a failing voice how he succeeded in overcoming Shambu's gang with the fighting skills his father taught him, but was unable to defeat Shambu himself. Shambu then vented his rage, at being cheated of Madhu, by brutally crushing Govinda's legs – "There were nails in his shoes, Father ..." – leaving the boy paralysed and bleeding to death.
After receiving final blessing, Govinda dies in his father's arms ... having sacrificed his own all-too-short life to save the life of another.
As darkness falls in the wilderness, Bhagwaan tenderly burns his son's remains.
Bhagwaan solemnly vows to be avenged upon Shambu, and binds Madhu to silence regarding Govinda's murder lest the wedding be interrupted.
The wedding of Geeta and Swaroop goes forward, attended by the whole of Shantinagar. But part way through the ceremonies someone discovers that they're missing the sindoor (vermilion) needed to fill the bride's hair parting for the ritual. Bhagwaan rushes off to buy the essential sindoor.
Shambu confronts Bhagwaan in the marketplace. They fight bitterly, until Bhagwaan at last overwhelms Shambu. Remembering poor Govinda's last words, Bhagwaan dons one of Shambu's horrible nail-studded boots and uses it to finish off Shambu. Or so he thinks. At the very last, the dying Shambu manages to hurl a hidden knife that pierces Bhagwaan's chest.
Knowing himself to be mortally wounded, Bhagwaan returns to the wedding just at the point where the ceremony requires him, as the bride's brother, to bless the newly wedded couple – which he does, using a smear of his own red blood instead of the hard-won sindoor. Geeta and Swaroop now realise he is injured and dying, also that Govinda, too, is missing. Bhagwaan responds that he is "on his way to join Govinda" ... and dies in their arms in his turn.
Swaroop and Geeta pledge to continue Bhagwaan's legacy at Shantinagar.