David Billa (Ajith Kumar), a Sri Lankan Tamil refugee along with several others, arrives at the town of Rameswaram in boat. After being interrogated by an arrogant civil servant, he is let into the refugee camp where he befriends Ranjith (Yog Japee). David makes his presence felt, when he slaps Muthu (Theepatti Ganesh), one of the rogue workers around, for making a derogatory comment. The refugee camp is constantly terrorised by corrupt police officer Raghubir Sinha (Krishna Kumar). After witnessing the brutal murder of one of the inmates at his hands, David attacks Raghubir when he tries to forcefully detain one of his friends. Raghubir then gets David tortured in prison, and vows to make him suffer. A few days later, Muthu calls David and Ranjith aside and promises them work. Billa and Ranjith are hired to transport fish from Rameswaram to Chennai. But unknown to them, the truck they were driving had diamonds inside, and Raghubir had alerted his men on the highway to catch them red-handed. As per the plot they get caught in the check post, and after realising what had happened, Billa kills all the cops and drive the truck to its destination. Here they meet Selvaraj (Ilavarasu), who is pleased by Billa's loyalty, and includes him in his businesses. Billa gets back and murders Raghubir as well as the arrogant civil servant he had initially met at the camp. He then goes to meet his elder sister (Janaki Sabesh) and niece Jasmine (Parvathy Omanakuttan) in a church. When they see his gun, they realise he is involved in crime. Not knowing what to say, Billa simply walks away.
Kotiswara Rao (Manoj K. Jayan) visits Selvaraj and asks him if he could help in selling off the heroin he had brought along with him. Billa volunteers to sell it off on a 5% commission in exchange. He sets off and delivers the heroin to a local thug, who refuses to pay for it in return. In a brutal scuffle that ensues where one of Billa's friends is slaughtered, Billa takes out the thug and his men and returns with both the money and the heroin. Soon Billa meets Koti's boss Abbasi (Sudhanshu Pandey), who is very impressed by the former and recruits him. After a party held at his club, he receives a phone call from the Russian mafia led by Dimitri (Vidyut Jamwal), telling him that his arms consignment has been held by the Indian coastal guards and he asks for his help. Billa and Ranjith retrieve the consignment for him. Both are congratulated by Dimitri for their work.
Soon David Billa learns his sister has died, and he brings Jasmine with him to live in a big villa in Goa. Jasmine displays her feelings for him, but Billa does not reciprocate and is instead more concerned at her education and safety. Billa and Koti travel to Russia to meet Dimitri, who happens to own an arms and ammunition manufacturing unit, with Koti, where he signs a deal with Dimitri without Abbasi's knowledge in presence of Jagdish (Rahman), a corrupt Interpol officer helping these underworld criminals. Abbasi learns of this from Koti, and is furious at Billa's daring and disobedient behaviour. Tensions further increase when Billa beats up Satish Kumar (Rohit Khurana), son of an influential minister Praveen Kumar (Dinesh Lamba), when he tries to misbehave with Jasmine in a party. Abbasi expresses his discontent and vents at him. Billa, surprised and enraged at his ingratitude, walks away with Ranjith. This is the first half of the movie.
Billa, then along with his henchmen Ranjith and Ram (Sarath Mandava), plots to venture into the drug business on their own during the carnival. At the carnival, Billa is betrayed by Ram and is brutally attacked and left for dead. Billa however survives, finishes off the assailants, returns to confront Abbasi and Ram, and kills them both. Now Billa becomes the most powerful crime lord, extending his business without any boundaries. He also ropes in Abbasi's girlfriend, Sameera (Bruna Abdullah), much to Jasmine's displeasure.
Dimitri arrives into the scene and tries to negotiate a deal with Billa. But Billa refuses for his low payment, and angered by his defiance and rebellion, Dimitri seeks to oust him. Dimitri seeks out the help of Koti, Satish, and Praveen to eliminate David. They proceed to kill the Chief Minister Mohan Kanth (Madhusudhan Rao) and the blame falls upon Billa. However Billa, with Ranjith's assistance, is freed, and Koti kidnaps Jasmine to lure him. Jasmine is found in a field, tied up and her mouth gagged with a strip of duct tape. Billa rescues her and informs Sameera to come to a church to take Jasmine away to Malaysia for safety. But Sameera conspires against them and the goons, with the minister's son, arrive at the church and hold both Billa and Jasmine captives. Billa, stabbed in his abdomen, is held to the ground. He is mocked at by Satish, who slits Jasmine's throat. Unable to witness her death, Billa overpowers everyone and kills all the goons including the minister's son. This is the scene at which the film initially starts.
Meanwhile, in Russia, Dimitri is having an auction of his weapons, and Koti is also present with him. He shows his factory in his computer via a series of webcams and much to everyone's shock, Billa is seen destroying his factory in Georgia. He also sees his delivery train go off course. Angered with fear, he kills Koti for not killing Billa as promised, and he sets out himself to finish the task. The arms factory is completely destroyed by Billa and his friends. Dimitri arrives and follows his delivery train, when to his shock, the delivery train is blown by Billa, who would be waiting for him on his own helicopter. After an intense battle, Billa kills Dimitri by throwing him out of the helicopter. In the concluding scene, Billa and Ranjith board a plane, and the former's goons eliminate the rest of the conspirators. Sameera is also killed in the process.