రాంగఢ్ అనే కుగ్రామంలో ఠాకూర్ బల్దేవ్ సింగ్(సంజీవ్ కుమార్) అనే రిటైర్డ్ పోలీస్ ఆఫీసర్ నివసిస్తూ ఉంటాడు. అతడు విధిలో ఉన్నప్పుడు అరెస్ట్ చేసిన ఇద్దరు చిల్లరదొంగలు వీరూ, జై లను రప్పించి వారితో ఒక ఒప్పందం కుదుర్చుకుంటాడు. బందిపోటు గబ్బర్సింగ్ను ప్రాణాలతో బంధించే విషయంలో అతడికి సహాయం చేస్తే ప్రభుత్వం ప్రకటించిన 50,000 రూపాయలతోపాటు అదనంగా మరో 20,000 రూపాయలను ఇస్తానని ఠాకూర్ ఆ ఇద్దరికీ ఆశ పెడతాడు.
In the small village of Ramgarh, the retired policeman Thakur Baldev Singh (Sanjeev Kumar) summons a pair of small-time thieves that he had once arrested. Thakur feels that the duo—Veeru (Dharmendra) and Jai (Amitabh Bachchan)—would be ideal to help him capture Gabbar Singh (Amjad Khan), a dacoit wanted by the authorities for a ₹ 50,000[a] reward. Thakur tells them to surrender Gabbar to him, alive, for an additional ₹ 20,000 reward.
The two thieves thwart the dacoits sent by Gabbar to extort the villagers. Soon afterwards, Gabbar and his goons attack Ramgarh during the festival of Holi. In a tough battle, Veeru and Jai are cornered. Thakur, although he has a gun within his reach, does not help them. Veeru and Jai fight back and the bandits flee. The two are, however, upset at Thakur's inaction, and consider leaving the village. Thakur explains that Gabbar had killed nearly all of his family members, and cut off both his arms a few years earlier, which is why he could not use the gun. He had concealed the dismemberment by always wearing a shawl.
Living in Ramgarh, the jovial Veeru and cynical Jai find themselves growing fond of the villagers. Veeru is attracted to Basanti (Hema Malini), a feisty, talkative young woman who makes her living by driving a horse-cart. Jai is drawn to Radha (Jaya Bhaduri), Thakur's reclusive, widowed daughter-in-law, who subtly returns his affections.
Skirmishes between Gabbar's gang and Jai-Veeru finally result in the capture of Veeru and Basanti by the dacoits. Jai attacks the gang, and the three are able to flee Gabbar's hideout with dacoits in pursuit. Fighting from behind a rock, Jai and Veeru nearly run out of ammunition. Veeru, unaware that Jai was wounded in the gunfight, is forced to leave for more ammunition. Meanwhile, Jai, who is continuing the gunfight singlehandedly, decides to sacrifice himself by using his last bullet to ignite dynamite sticks on a bridge from close range.
Veeru returns, and Jai dies in his arms. Enraged, Veeru attacks Gabbar's den and catches the dacoit. Veeru nearly beats Gabbar to death when Thakur appears and reminds Veeru of the promise to hand over Gabbar alive. Thakur uses his spike-soled shoes to severely injure Gabbar and destroy his hands. The police then arrive and arrest Gabbar. After Jai's funeral, Veeru leaves Ramgarh and finds Basanti waiting for him on the train. Radha is left alone again.