A Kuala Lumpur-based don Kabaleeswaran alias Kabali (Rajinikanth) is released after spending 25 years in prison on a false charge of starting a massacre at a local Hindu temple that killed many, including his wife Kumudhavalli alias Kumudha (Radhika Apte). He immediately resumes charge of his old gang and soon confronts Loganathan alias Loga (Mime Gopi), a drug smuggler. Loga insults Kumudha, saying that she would have been sold into prostitution had she been alive. In retaliation, Kabali rams his car into Loga, killing him; however, the incident makes Kabali believe that his wife may be still alive. Later that night, Kabali survives an assassination attempt by Tamizh Kumaran alias Kumaran (Kalaiyarasan), whose father Tamilmaaran (Charles Vinoth) was killed by Kabali when he was a young boy. The next day, at a function organised by the Free Life Foundation School, a school started by Kabali’s friend Ameer (John Vijay) to reform youngsters involved in criminal activities, Kabali talks about his past.
Kabali was the protege of Tamilmaaran’s father Tamilnesan (Nassar), a don who fought for the rights of the Tamil Malaysians. Tamilnesan was killed by Veerasekaran alias Veera (Kishore), who was also a part of Tamilnesan’s gang, but disliked like his rules such as not involving in illegal activities like drug smuggling and prostitution. Following Tamilnesan’s death, Kabali took charge of his gang. However, Veera manipulated Tamilmaaran, who was Kabali’s friend, by telling him that he, being Tamilnesan’s son, should lead the gang and not Kabali. Tamilmaaran invited Kabali and a pregnant Kumudha for a temple function. However, this was revealed to be a trap as Veera and his men confronted Kabali and Kumudha. In the ensuing scuffle, Kabali was brutally attacked while Kumudha was shot and seemingly killed. Kabali then killed Tamilmaaran for his betrayal in front of a young Kumaran and was soon arrested on a false charge of instigating the massacre.
Kumaran, after hearing Kabali’s speech, realises his mistake and apologises to Kabali. He tells him that Velu, one of Veera’s henchmen who had shot Kumudha, is aware that Kumudha is still alive and had given birth to a baby girl after the massacre. Kabali then leaves for Thailand, where Velu is residing. On confronting Velu, he learns that his daughter is still alive. At this juncture, Kabali is confronted by Yogi (Dhansika), a contract killer hired by Veera and his boss Tony (Winston Chao), who heads the rival Gang 43 in Kuala Lumpur, to eliminate Kabali. But Yogi instead kills the men who had come with her and reveals herself to Kabali as his daughter, who had been raised by Velu. She also tells him that Kumudha is still alive and is living with a French family in Puducherry. Kabali and Yogi then leave for Puducherry, where they reunite with Kumudha and spend a few days with her there.
Kabali and his family soon return to Kuala Lumpur, where Kabali is told that Ameer has been severely injured in a car accident set up by Tony; his henchman Jeeva (Dinesh) was brutally chopped to pieces by Tony after refusing to join the Gang 43; and the Gang 43 has started to control the Kuala Lumpur underworld, eliminating any gang who dared to oppose them. On hearing all this, Kabali decides to finish Tony and Veera once and for all. He and his family attend a birthday party for a respected Malaysian don, who had invited all gangs, including the Gang 43. At the party, Kabali starts a shootout with the help of Kumaran, which ends with him killing Veera and Tony.
The scene then shifts to a function organised by the Free Life Foundation a few months later. One of the Free Life alumni, a youngster name Tiger (‘Johnny’ Hari), who is known to be aggressive and reckless, walks up to Kabali, with scenes showing him speaking to the police prior to the function. The screen cuts to black, and the sound of a gun clicking and a gunshot afterwards is heard.