The film opens with shots showing Veeraiya (Vikram) jumping off a cliff into the water. His gang is busy distracting the police. Police vehicles are set ablaze and women seduce policemen into a trap whereby Veera's henchmen attack. The policemen are ruthlessly murdered. Raagini (Aishwarya Rai), whilst on a boating trip, is kidnapped by Veera. Dev Prakash (Prithviraj), her husband and a senior police officer, is informed of the incident.
A brief montage of sorts showcases the story of Veeraiyya. He is seen as a local hero, who runs a parallel govt in areas near Tirunelveli, with his brothers - Singarasu (Prabhu Ganesan) and Sakkarai (Munna). Though considered a terrorist by the local police, Veeraiyya is repected by the villagers. He kidnaps Raagini hoping to avenge the death of his sister Vennila (Priyamani). He brings her to the edge of a cliff to shoot her to death, but she refuses to die at his hands and jumps off the cliff into the water far below, hoping to kill herself, but fails to do so. This causes Veera to hold off the murder, being unable to kill someone who has no fear of death in her eyes.
Dev and his team enter the forests with the aid of Gnanaprakasam (Karthik Muthuraman)- a local forest guard. Gnanaprakasam plays the role of Hanuman from the traditional epic. Despite searching deep in the forests, Dev is unable to hunt down Veera.
Meanwhile, Raagini develops feelings for Veera after she hears the story of his sister's death. Dev had led an encounter against Veera during Vennila's wedding. Dev's shot grazes Veera in the neck. Veera, fighting for his life, is unable to protect his sister, and he is led out of the fiasco by his gang. The police pressurize Vennila into revealing Veera's hideout. When she refuses, she is subjected to physical and sexual assault. Veera returns home to find Vennila distraught and traumatised. The next day, Vennila commits suicide by drowning in a nearby well.
Unhappy with the way his brother is leading a war causing distress to his gang, Sakkarai decides to offer a truce to Dev. Dev initially seems to agree, but when Sakkarai comes out in the open, Dev shoots him to death- thus revealing that he considers the destruction Veera being more important than saving his wife.
Veera and Singarasu are enraged and attack Dev's camp and wipe it out completely. A final confrontation between Veera and Dev takes place on a rickety bridge - where Veera triumphs over Dev - when he decides not to let Dev die. He tells Dev he is letting him live because of his wife. Dev manages to extricate himself out and finds Raagini bound and tied up - with Veera leaving her.
However - Dev is not entirely happy and while returning to their hometown of Mettukudi, Dev accuses Raagini of infidelity and informs her that it was Veera who told him so. Furious, Raagini leaves Dev to meet Veera through Singarasu. She manages to meet him and asks him why he had accused her of doing so. Veera tells her he said that he had protected Raagini safely for all the fourteen days and not anything else. He quickly realizes that Dev lied, hoping Raagini would lead him to his hideout.
Dev appears with a police team and confront the duo. Raagini tries to save Veera, but he pushes her out of the line of fire. He is shot multiple times, whereby he falls off the cliff. The touching climax of the movie ends with Ragini's true feelings coming to surface where she is seen trying with whole might to save Veera. She reaches out to him, but although Veera tries to grab her hand amidst the gun fire, he fails to do so, dying without touching Raagini once throughout the time he knew her. (Hence the meaning of the last song, Naan Varuvaen, in which it says he, Veera, will be back to touch her, with his life and soul.) Veera, content that Raagini has feelings for him, falls to his death with a smile.