The film opens with an honest police officer, Rakesh Kadam (
Sudhanshu Pandey), committing suicide because of false accusations of corruption by Jaikant Shikre (
Prakash Raj), a don and politician in
Goa running a kidnapping racket. Kadam's wife Megha Kadam (
Sonali Kulkarni) vows revenge.
The film moves to Shivgarh where Bajirao Singham (
Ajay Devgn), an honest police Inspector like Kadam, is in charge of the town. He resolves most of the problems in his town with non-violence and mutual counseling. He uses force only when the situation demands it, thereby gaining much reputation and love from the villagers. Gautam Bhosle Gotya (
Sachin Khedekar) is an industrialist and a friend of Singham’s father Manikrao Singham (
Govind Namdeo). He comes to town with his beautiful daughter Kavya (
Kajal Aggarwal). Eventually Singham and Kavya falls in love with each other. Everything seems to run smoothly until Jaikant, who is given a conditional bail for a murder he committed earlier, 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 anger and rage of Singham who demands Jaikant to come and sign the bail in person. Humiliated Jaikant reaches Shivgarh but is unable to take any revenge on Singham fearing the immense love and devotion of the entire village towards Singham. Using his political contacts, he gets Singham transferred to Goa to teach him a lesson.
Singham, unaware of Jaikant’s hand behind his transfer, joins
Colva Police Station. His co-workers, Sub-Inspector Phadnis (Vineet Sharma), Sub-Inspector Abbas (
Ankur Nayyar), Head Constable Savalkar (
Ashok Saraf) and Havaldar Kelkar (Vijay Patkar), hate Jaikant for his crimes but are unable to take any action because of Jaikant’s political powers. On the contrary, DSP Patkar (
Murli Sharma), Singham's senior, is on a pay-roll of Jaikant and takes care in concealing and eliminating all of the evidences 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 are no evidences against Jaikant and Patkar. The local minister Anant Narvekar (Anant Jog) too 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 who encourages him to fight against the evil and not run like a coward.