Mumbai-based college teacher Amar Verma (Naseeruddin Shah) lives with his wife, Shobha (Soni Razdan), and 6 year old son, Kunal. When a war breaks out between ganglords Veljibhai (Paresh Rawal) and Chhapan Tikli (Gulshan Grover) alias Jimmy, a number of innocent bystanders fall victim, one of whom is Kunal. This devastates the Verma family. Shobha walks out on Amar, who then devotes his life to his students. Many years later, when he finds out that a student, Pooja (Pooja Bhatt), has a problem of stammering, he decides to help her. He finds out that she is the only child of gangster Veljibhai.
Amar meets with Veljibhai, discusses the gang-war scenario, then meets with Chhapan Tikli and does the same. Amar gets the gangsters to agree on a truce so that he can take Pooja and the rest of the students on a field trip to Bangalore. Amar will soon find out that neither Veljibhai nor Chhapan Tikli has any intention of keeping any truce. As the two dons engage in a fight to the finish, it seems that Amar may well have jeopardized his own life as well as the lives of Pooja and the other students. An additional complication arises with Pooja falling in love with her classmate Karan (Atul Agnihotri) and wishing to marry him against the wishes of her father.