The film is set in 1942, when the British Raj was on the verge of losing power in India. It was a time when many Indians were either working for the British or rallying in underground meetings and protests against them. In this atmosphere, Naren Singh (Anil Kapoor) falls in love with Rajeshwari "Rajjo" Pathak (Manisha Koirala). Their romance is shown developing in spite of the political and social unrest at the time.
Naren's father, Diwan Hari Singh (Manohar Singh), is a loyal British employee, while Rajjo's father Raghuvir Pathak (Anupam Kher) is a revolutionary fighting against British rule. When Naren asks Raghuvir for Rajjo's hand in marriage, Raghuvir gets livid. Naren declares that he is willing to sacrifice everything for Rajjo, and convinces Raghuvir of his love for her. Pathak relents and tells Naren to talk to his father. When Naren does so, Hari Singh is angry that his son has chosen Rajjo, the daughter of a revolutionary, but pretends that he will do anything for Naren's happiness.
Hari Singh tricks Naren into revealing Pathak's secret location, and leaks the information to the British authorities. Soon, police barge into Pathak's hideaway and try to kill him, only to find him waiting to light a bomb. He kills them all, dying with them. Rajjo, who was out at that time, realizes what has happened and runs away. She is taken into refuge by Shubhankar (Jackie Shroff), a compatriot of Pathak who has learned of his death. Under Shubhankar's tutelage, Rajjo follows her father's revolutionary path. Meanwhile, Naren is angry with his father for being used as a pawn in the ambush and killing of Pathak and driving Rajjo and Naren apart from each other. Promising to make up with Rajjo and help her cause, he pledges to become a protester or a revolutionary, even if it means opposing his own father.
Naren severs all ties with his father and stands up against British rule, in particular General Douglas, in front of the city. He is convicted and sentenced to hang for attempted murder. Moved by Naren's actions, Rajjo tells Shubhankar about him. Shubhankar saves Naren from being hanged and the two finish off Hari Singh and many of the British loyalists. They are helped by Major Bisht (Danny Dengzongpa), who has a change of heart after having tragically witnessed the killing of his daughter Chanda, a revolutionary, by the gunshots of British loyalists upon General Douglas' orders. With the loyalists dead, Shubhankar hangs General Douglas by the same noose that was intended for Naren. Shubhankar, Rajjo and Naren, together with Major Bisht and the citizens are shown at the end of the movie saluting the Indian flag, being hoisted by Shubhankar.