The film is set in British India in the year 1915. The story is about a young doctor, Govardhan Menon (Mohanlal), who is wrongly accused of bombing a train carrying 55 people including British officials. He is put in a cellular jail at Port Blair, Andaman and Nicobar Islands. Kaalapani shows the sufferings of hundreds of Indian prisoners in the cellular jail, including leading participants of the freedom movement. The extremely inhumane conditions faced by the prisoners in the jail are accurately depicted.
Alex Draper plays the sadistic jailor David Berry, who is of Irish descent, while John Kolvenbach plays the kind-hearted English doctor, Len Hutton.
Annu Kapoor plays the role of Veer Savarkar who is incarcerated and tries his best to keep the spirit of the prisoners going despite unbelievable torture. Tabu plays Mohanlal's lover who keeps waiting for him to come back. Due to the efforts of a British doctor, Len Hutton, the government decides to investigate the matter of the torture meted out to the prisoners. 14 people are ordered to be released. One of them is Mukundan (Prabhu Ganesan). David Berry and the jail warden, Mirza Khan (Amrish Puri), hatch a plan and shoot down 13 prisoners while they are escaping. Mukundan refuses to escape. He is forcibly taken on the pretext of meeting the Chief Commissioner and is shot and killed. Seeing the dead body of his friend, Govardhan is angered to the greatest extent and throws down jailor Berry from one of the towers and then kills Mirza Khan by strangling him. Govardhan is hanged to death