In the small village of Ramgarh, the retired policeman Thakur Baldev Singh (Sanjeev Kumar) summons to 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 Rupees 50,000 reward. Thakur tells them to surrender Gabbar to him, alive, for an additional Rs 20,000 reward.
The two thieves stopped the dacoits sent by Gabbar to extort the villagers. Soon afterwards, Gabbar and his goons attack Ramgarh during the festival of Holi, and 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 lively Veeru and sarcastic 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 isolated, 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 bullets. 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.
After Veeru returns, Jai dies in his arms. Furious, 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.