Orphaned when his mother dies of starvation, Babu (Akshay Kumar) is taken in by Sultan, an ambitious local criminal. Sultan has gathered a group of boys, lead by his nephew Abdul, who he trains to work for him. Babu grows up to become “Badshah”, a professional criminal working for Sultan. After having robbed a jewellery store, Badshah and Abdul are chased by police but manage to escape. The next day Badshah sees Sapna (Karishma Kapoor), a poor street performer, singing and dancing for money. Badshah gives her a large amount of money in order to replace her ripped and old clothes, and Sapna becomes interested in him. Returning home, Badshah finds Inspector Pradhan waiting for him, and the two threaten each other, engaging in a war of words ending with the Inspector vowing to put an end to Badshah’s criminal activities. During a weapons exchange, Badshah and Abdul are intercepted by police and a chase ensues. Badshah is shot in the arm and the chaos causes both their vehicles to crash. Inspector Pradhan becomes trapped in his car, and Badshah helps him get out. Despite having been saved, the Inspector tries to arrest Badshah, who manages to escape, but is injured badly.
Abdul leaves Badshah goes to get help. Sapna finds Badshah and takes him to her home, looking after him as he recovers. Abdul visits Badshah and updates him about the heightened police presence in the city, advising him to remain with Sapna temporarily. Sapna runs out of money and is manipulated by her greedy uncle, who tells her that he has arranged a loan for her. Instead, she finds that her uncle has sold her for a bottle of liquor to a man, who attempts to rape her. Badshah arrives in time to save her, and states that destiny has brought them together. Badshah confesses his criminal life to Sapna and says that he is willing to leave the city and his past behind in order to marry her and live peacefully, but he intends to do one more job so that they will have enough money for the future. After having made a deal with an undercover police informant, Abdul is arrested and Badshah is cornered on a building rooftop, but he escapes. Meanwhile, Sapna’s uncle humiliates her, questioning the relationship between her and Badshah. Badshah publicly declares his feelings for Sapna and announces that they will be married the next day.
While heading to the temple, Badshah comes across the police informant who caused Abdul’s arrest. In a fit of rage, he kills him and flees when the police arrive. Sapna, having been stood up at her own wedding, is mocked by her community. Later that night, Badshah finds a child who has survived a train crash, and goes to Sapna for help. Sapna mistakenly believes that Badshah is a married man and has brought his own son to her. Sapna’s uncle calls the police, and Badshah escapes with the child, without explaining the truth to Sapna. Meanwhile, the child’s distraught parents, Aaditya and Mamta, struggle to deal with their son’s disappearance. Badshah attempts to leave the boy at a mosque, but later decides to adopt him. Months pass by and Abdul still refuses to cooperate with police. Inspector Pradhan refuses to close Badshah’s file, promising that he will neither accept any promotions or transfers until he is caught. Badshah leaves his criminal life behind and starts a new, honest life as Babu Lohar. Babu works hard to earn money to provide for the boy, who he names Raju and raises as his own.
Seven years later, Raju has grown up and starts to attend school. Mamta, who is the school’s trustee, meets Raju and bonds with him, not realising that he is her son. She showers him with gifts, which angers Babu, as he feels that his son is being enticed away from him with material things. Abdul is released from prison and goes home to Sultan, who assumed that Badshah was imprisoned as well. Abdul concludes that Badshah had stolen the money from the deal and abandoned him in jail. Sultan calls for revenge and wants Badshah to return to work for him. Abdul tracks down Sapna, who now works as a bar dancer in a nightclub, and finds out that she does not know where Badshah is either. Soon, Abdul finds out about Badshah’s new identity and confronts him about the money and his disappearance. Babu meets Sultan and tells him to forget their past and leave him alone, but Sultan refuses. Having followed Abdul, Inspector Pradhan arrives at Babu’s house and meets Raju. He is impressed with the character of the young boy and decides not to pursue Badshah anymore. After a school concert, Aaditya gives Raju a lift home and comes across his childhood pictures, causing him to realise that Raju is his son. He invites Babu to his home and pleads for the return of his son, but Babu cannot bear to be separated from Raju and refuses. Abdul tries to persuade Sapna to kill Badshah to avenge her humiliation, but she is unable to do so after she overhears Mamta pleading with Babu to return her son. Desperate for the return of his son, Aaditya takes Babu to court and wins the right to have Raju in his and Mamta’s full custody. Realising that their son is unhappy with his new life, Aaditya and Mamta take Raju to visit Babu, but he is kidnapped by Sultan’s men during the trip.
Babu goes to save Raju, but is outnumbered and trapped in a cage. Sultan intends to torture Babu by hurting Raju, using his 2 dogs. Babu manages to free himself and saves Raju from the dogs, killing Abdul and Sultan in the process. Badshah reunites with Sapna, and they decide to live with Aaditya and Mamta, in order to collectively raise Raju.