Ballu (Sanjay Dutt) is a gangster who is arrested by Inspector Ram (Jackie Shroff). Ram shows compassion to Ballu while trying to get him to provide information that would lead to capture of Ballu's boss and mentor Roshida.
Ballu escapes from jail while Ram is visiting his girlfriend Ganga (Madhuri Dixit) who is also a police officer. When news of this breaks out Ram's reputation is in tatters as the media portray Ram as an officer who has neglected his duty.
Ram's girlfriend Ganga (Madhuri Dixit), in an attempt to restore Ram's reputation, secretly goes undercover as a prostitute. Ganga realises that Ballu is a good hearted person who turned to crime due to poverty and circumstances. Ganga tries to rehabilitate Ballu while on the run - meanwhile Ballu begins to fall in love with Ganga. He becomes enraged when he finds out she doesn't love him and is a police officer. Ganga continues to help Ballu as she has seen the good in him and tries to prove that she is truly trying to help him.
Meanwhile Ram approaches Ballu's mother for help and realises that Ballu is in fact his childhood friend. Ballu's mother / Ballu then tell Ram / Ganga the story of how Rosida used their poverty to corrupt Ballu. Roshida killed Ballu's sister, blaming the police. Ballu kills the officer he believes to be behind this and from then on spirals into a life of crime.
In the present Ganga fearing the police will kill Ballu, who she believes is good, stops the police from shooting him - allowing him to escape. Ganga is arrested for aiding a criminal and is accused of being in a relationship with Ballu this destroying her police and personal reputation.
Ballu's mother finds Ballu, however she is followed by Ram. In the following confrontation Ballu's mother takes Ram's side trying to convicne Ballu to give himself up. Ballu seeing Ganga's picture in Ram's wallet realises that this is who she loves.
Ballu manages to escape to Roshida's base where Roshida promises to help Ballu escape but betrays him and attempts to kill him and his mother. The police, led by Ram attack Roshida's lair. In the ensuing conflict Ballu finds out that Roshida killed his sister. Ram kills Roshida and Ballu escapes.
Following Roshida's death Ballu installs himself as the now boss - but his girlfriend informs him that Ganga is about to go on trial for aiding him. Having a change of heart Ballu appears to attack the court but then surrendurs himself and swears that Ganga is innocent, thereby restoring her reputation and reconciling her and Ram