Singham opens with an honest police officer in Goa, Rakesh Kadam (Sudhanshu Pandey), committing suicide because of false accusations of corruption filed by Jaikant Shikre (Prakash Raj), a don and politician in Goa running various rackets like kidnapping, extortion and smuggling. Kadam’s wife Megha Kadam (Sonali Kulkarni) vows revenge but cannot find any support or help from the police or Minister Anant Narwekar (Anant Jog).
The story moves to Shivgarh, a small village near the Goa-Maharashtra border. Bajirao Singham (Ajay Devgn), an honest Maratha police inspector like Kadam, is in charge of the Shivgarh police station. He resolves most of the problems in his town informally and without filing charge sheets, thereby gaining much reputation and love from the villagers. Gautam Bhosle a.k.a. Gotya (Sachin Khedekar) is an industrialist and a friend of Singham’s father Manikrao Singham (Govind Namdeo). He comes to Shivgarh with his wife and daughter Kavya (Kajal Aggarwal). Eventually Singham and Kavya fall in love with each other. Their courtship takes place through a series of comic events where she initially hates him and then has a change of heart when she sees his honest and simple nature.
Everything seems to run smoothly until Jaikant, who is given a conditional bail for a murder he had committed, is required to travel to Shivgarh to sign the bail every fortnight. He, instead, sends one of his allies to do the formalities, much to the fury of Singham who demands Jaikant sign the bail in person. Humiliated, Jaikant reaches Shivgarh but is unable to take any revenge on Singham fearing the wrath of villagers, who threaten to finish him off. Using his political contacts, he gets Singham transferred to Goa to take revenge.
Singham, unaware of Jaikant’s hand behind his transfer, joins Colva police station. His co-workers, Sub-Inspector Dev Phadnis (Vineet Sharma), Sub-Inspector Abbas Malik (Ankur Nayyar), Head Constable Savalkar (Ashok Saraf) hate Jaikant for his crimes but are unable to take any action because of Jaikant’s political powers. DSP Patkar (Murli Sharma), Singham’s senior, is on Jaikant’s payroll and takes care in concealing and eliminating the evidence of Jaikant’s crime from the eyes of the law. Singham tries to take this to the notice of DGP Vikram Pawar (Pradeep Velankar)) but it turns out to be of no use as there is no evidence against Jaikant and Patkar. The local minister Anant Narvekar (Anant Jog) does not help Singham and in turn, he warns him to stay away from Jaikant’s case. Defeated Singham wants to return to his hometown but is stopped by Kavya and Megha Kadam, who encourage him to fight against the evil and not run away like a coward.