Savitri's (Nutan) twin baby sons are snatched by notorious criminal Gama Mateen (Danny Denzongpa) who demands a ransom in exchange for returning the sons to Savitri. Inspector Bhargav (Arun Govil) comes to the aid of Savitri, but is himself killed in the process while trying to save Savitri's twin sons who remain in Gama Mateen's clutches and he goes on the run with them. After Inspector Bhargav's death, Savitri brings up Bhargav's son, Vikram, as her own son.
Many years later, Vikram (Jackie Shroff) has grown up to be a police inspector like his dad. And Savitri's two children who Savitri has not seen since their kidnapping have grown up to be Public Prosecutor Avinash and underworld criminal named Junior (both Anil Kapoor). As a child Gama Mateen lost Avinash and he was found and adopted by a lawyer. Junior was brought up by Gama to become a sharpshooter hitman.
Gama Mateen uses Junior as his hitman to kill off whoever he wants and Avinash is blamed each time for the killings. Avinash is also coincidentally the best friend of Vikram. Vikram begins to suspect that Avinash is not all he seems when a witness (Shatrughan Sinha) identifies Avinash as one of the men involved in a heist. Avinash protests his innocence and after many misunderstandings, it is discovered that his twin brother Junior is behind all the killings and heists. Vikram also discovers that his father had been killed by Gama Mateen when he was just a child so he sets out to avenge his father and reunite Savitri with her two sons.