The film opens with a police unit pursuing a ruthless trio of brothers—Aniket Aniket Chouhan, Abhinay Kabir Duhan Singh, and Rahul Rahul Dev—who run a French human trafficking ring. Their operation hits a snag when they intercept Rahul on a plane, turning on the officers by taking their families hostage. The officer in charge fights back, and, before dying, declares that Rahul will be killed by a good man for his deeds.
The story then shifts to Kolkata, where Ganesh Ajith Kumar arrives with his sister Tamizh Lakshmi Menon to enroll her in an arts college. Ganesh soon becomes friends with “Kolkata Kaali” Rajendran, who helps them settle into a new house. Ganesh works at a taxi company under his boss, Laxmidas, and his very first fare is Swetha Shruti Haasan, a lawyer who asks Ganesh to pose as a fake mute eyewitness for a case in exchange for not paying the fare. When Ganesh answers a call on his phone in the presence of a judge, the judge fires Swetha, sparking a violent turn. Swetha tries to kill Ganesh, but Laxmidas saves him and is left embarrassed by the encounter.
Swetha and Laxmidas briefly join forces to take revenge on Ganesh, but Swetha gradually softens toward him after recognizing her mistake. Ganesh then arranges Tamizh’s marriage to Arjun Ashwin Kakumanu, bridging personal ties with professional danger.
Meanwhile, DCP Yashpal calls Ganesh and the other drivers to report any activity by crime syndicate members plaguing the city. Ganesh alerts them to an arms trafficking case, which leads Aniket and his men to capture Ganesh and present him before Aniket aboard a private boatyard. Aniket orders Ganesh’s death, yet Ganesh unexpectedly fights off and defeats all his attackers, killing Aniket and exposing a ruthless, maniacal side to himself.
News of Aniket’s murder prompts Abhinay to rush back to India to investigate. He and his team track Ganesh’s mobile signal to their building, leading to a tense confrontation where Ganesh ambushes the squad and kills Abhinay. Swetha is horrified by the bloodshed, and she tells Ganesh she’ll do everything to stop Tamizh’s marriage. In a watershed admission, Ganesh reveals that Tamizh is not his sister and discloses his dark past.
Past: Ganesh is Vedalam, a ruthless thug-for-hire who meets Tamizh at the hospital after his enemies stab him. A builder tries to force Tamizh and her blind parents to sell their home to a company site; Tamizh and her friend Esther hire Vedalam, who has already been paid more and betrays them, forcing the family to abandon their home and live with Vedalam. Vedalam’s misreadings of their intentions lead to friction, but when Tamizh and her parents fall into danger, Vedalam unwittingly saves them from trafficking. The syndicate blasts into their lives, killing Tamizh’s parents and injuring her. Vedalam, touched by the girl’s plight, changes his ways, rescues Tamizh (who loses her memory) and insists that he is her brother, taking care of her. Ganesh works hard to keep his true ruthless identity hidden from Tamizh, presenting a gentler front to protect her.
Present: Ganesh asks Swetha not to reveal his true past to Tamizh, and Swetha agrees to go along with the arranged marriage. After learning about his brother’s death, Rahul intensifies his search for Ganesh’s killer, using an injured victim of Ganesh’s assault to find clues. Rahul hires Tamizh to draw a forensic sketch, tightening the trap. Ganesh responds by kidnapping Rahul’s henchman’s son to secure Tamizh’s freedom, forcing a confrontation. Rahul abducts Tamizh, and Ganesh chases him through the crowded streets of Kolkata. The pursuit crescendos as a Navratri procession blocks the way, and Tamizh urges Ganesh to shoot Rahul. To protect Tamizh, Ganesh fires away from her, distracts her, and ultimately kills Rahul. In the aftermath, Ganesh and Tamizh return home, and Tamizh’s wedding to Arjun is celebrated as peace is restored.