The story, set in the backdrop of Nallore, a small town in Thoothukudi District, revolves around Sub-Inspector Durai Singam (Surya), a brave and just policeman who serves in his hometown primarily to fulfill his father’s (Radha Ravi) wish. Durai Singam settles every dispute in his town patiently with his words of wisdom and resorts to force only when the situation demands it. Kavya (Anushka), a city girl who comes on vacation to Nallore, falls in love with Durai Singam. Erimalai (Vivek), Durai Singam's bumbling colleague and friend, often accompanies him.
Everything seems to be smooth-running until Chennai-based Mayil Vaaganam (Prakash Raj), a big-time extortionist with shady mafia dealings, is required to travel to Nallore to sign a conditional bail. Mayil sends one of his henchmen to sign in his place. An angry Durai Singam demands that Mayil come in person for the signature and this starts tensions between them. Mayil, unable to do anything because the town is under the control of Durai Singam and his supporters, leaves humiliated. He uses his political clout to get Durai Singam promoted to Inspector and transferred to Tiruvanmaiyur police station in Chennai in order to extract revenge.
In Chennai, Kavya's sister Divya is kidnapped by Vaaganam, and in the process Singam uncovers a scam run by Vaaganam in which he kidnaps children for ransom from commercial real estate developers. Durai Singam, with unexpected help from the Home Minister (Vijayakumar), gets promoted to Assistant Commissioner of the specially-formed Anti-kidnapping Task Force. Also, Kavya's father (Nassar) who was hostile to Singam following an altercation with Singam's father, softens up and agrees to give him Kavya's hand in marriage.
In a protracted cat-and-mouse chase with liberal display of muscle power, Vaaganam targets people dearest to Singam, including Kavya (who gets shot but is saved by Singam) and manages to kill Durai Singam's loyal deputy and close friend, Inspecter Ravi. Finally, in a bid to escape gathering momentum of hostility and the arrest warrant against him, Vaaganam kidnaps the Karnataka Home Minister's daughter and escapes by train to Nellore. Following a fierce chase and fight, mobilizing a huge army of policemen to help him, Singam kills Vaaganam in a final one-to-one fight. The final scene shows Singam and Kavya heading back to Nallore, when Singam is stopped briefly by the Home Minister and assigned an undercover mission, to which he gladly agrees.