The film begins with SP Amit Kumar (Ajay Devgan) taking charge of the Tezpur District in Bihar. The area is notorious for its crime rate, with Tezpur Police under the control of local don Sadhu Yadav (Mohan Joshi) and his son Sundar Yadav (Yashpal Sharma). Amit tries to instill honesty and courage in his subordinates, but in vain. Bacha Yadav (Mukesh Tiwari), who is a stooge of Sadhu Yadav visits his hideout, sees an infamous local goon Nunwa taking shelter there. Fearing that arresting him would open the lid on the nexus between Nunwa and the Tezpur Police, he kills Nunwa and misleads Police that he was killed in an encounter. Suspect about the encounter, Amit Kumar summons Bacha Yadav, puts him off duty temporarily and also tries to keep him away from Sadhu Yadav and Sundar Yadav. Anxious that he would be transferred from Tezpur, Bacha Yadav, seeking the help of Sadhu Yadav, visits his home, where he finds out that he is being ditched by Sadhu and vows to settle score with them. Meanwhile, Sundar manhandles a Public Works Department engineer for not heeding to his word during a tendering process. Amit takes notice of the incident and also finds that a girl is missing from her home after being kidnapped by Sundar. Sensing an opportunity, Bacha Yadav urges Amit to give him one more chance, who obliges him. Bacha Yadav tricks Sundar into a factory where Amit and his men are waiting and after a brief scuffle, Sundar is arrested and produced in a local court, where the judge acquits Sundar on the account of lack of evidence against him.
Sadhu Yadav's men then try to vandalise a shop of local pan vendor after he testified against Sundar, before being arrested and jailed in the police station. There, a fight arises between the accused and Bacha Yadav and his colleagues. It reaches an extreme point with Bacha Yadav piercing the eyes of the accused and pouring acid, referred locally as "Gangaajal", on their eyes. The incident raises a hue and cry in the local media, which accuses Police of vigilante justice. Angered by the incident, Amit Kumar orders his men involved to give their confessions in writing. While all, except Bacha Yadav, deny their involvement, Bacha Yadav writes his confession in a letter and submits it to Amit. When Bacha Yadav reaches his home, he finds his son and wife taken hostage by Sundar Yadav who, after a brief struggle, kills Bacha Yadav by shooting in his eyes. Enraged by the incident, Amit Kumar burns the confession letter of Bacha Yadav and issues a search warrant for Sundar and warns Sadhu Yadav to tell Sundar to surrender himself. Sadhu Yadav applies for an anticipatory bail for Sundar but before Sundar is produced in the court, he is arrested and is taken to jail. This time, the court rejects the bail application and orders the Police to keep Sundar in a 10-day custody.
However, Sadhu Yadav influences local home minister and the Deputy Inspector-in-General (Mohan Agashe) of the area, Verma, to release his son and also to send Amit on an emergency leave. After being released, Sundar disrupts the marriage of the girl who he kidnapped earlier and kills her mother in the process. Unable to bear the loss of her mother and the torture at the hands of Sundar, she kills herself in the presence of Amit. Amit detains both Sadhu and Sundar and tries to take them to Police Station. However, locals stop Amit and demand that both be killed then and there itself, before being convinced by him that they would be tried as per the law. On the way to Police Station, however, both Sadhu and Sundar escape. Amit then catches up with them and brief fight takes place between them and the film ends with both Sundar and Sadhu getting killed by falling accidentally on chisels of a plough, which incidentally pierce through their eyes.