Police Commissioner Suryadev Singh (Amrish Puri) is an honest and efficient cop in the city. He has a granddaughter Kajal (Twinkle Khanna), whom he has brought up after her parents were poisoned by his enemies, and whom he values more than his life. But Suryadev’s cousin Vishambar (Suresh Oberoi) is plotting the complete ruin of Suryadev, along with his wife and his brother in law Bhanwari (Shakti Kapoor), because Vishambar’s deceased father gave all his share of property, including a village Sundernagar, to Suryadev as Vishambar has married someone against his wishes. So Vishambar plans to kill Kajal, as then his revenge will be complete, and the property will fall into his hands since there would be no one to inherit it from Suryadev, which his son Nagendra can inherit. For this purpose, Vishambar hires Karan (Ajay Devgn).
Karan is a young and efficient man in need of money for treating his ailing mother in hospital. By rescuing Kajal in a fake kidnapping drama enacted by Vishambar’s goons, he wins Suryadev’s confidence.
Suryadev then decides to send Kajal to his village to stay with some relatives, along with Karan as her bodyguard, convinced that he will protect her from harm.
In the village, Kajal falls in love with Karan, but he does not reciprocate. He even tries to kill her on many occasions, but for some reason, hesitates from finishing her off. Finally, he decides to tell her everything, but Kajal refuses to listen. She woos him till he finally falls for her. Interspersed between all this is Johnny Lever and his girlfriend with their hilarious acts.
In the meantime, Vishambar gets to know that Karan has fallen for Kajal, so he hires another killer named Dilavar to eliminate both of them from the village. They attack during a festive celebration and take away Kajal, with Karan chasing after them. Karan rescues Kajal, is attacked again by Dilavar and his goons, but he manages to kill them all, including Dilavar. After a brief period of separation in the wilds, both are reunited.
Suryadev arrives at the village on hearing of the disappearance of Kajal and Karan, and gets to know of Karan’s real motive because of a note written by Karan meant for Kajal to read, before he falls for her, left in his room. He then orders Karan’s arrest. On searching, he finds his granddaughter with Karan, but she refuses to let him harm Karan, and both elope again.
In the meantime, Vishambar kidnaps Karan’s mother and passes the word to him through Nagendra, who gets beaten up by Karan. Karan and Kajal are finally apprehended by Suryadev. Karan is arrested and tortured, but he does not reveal who actually has given him the contract to kill Kajal, for fear that his mother would be affected.
Suryadev then arranges for his granddaughter to be married to Rohit, son of his longtime friend. On Kajal’s refusal, he tells her the story of how her parents were poisoned, and he had taken care of her. She tearfully agrees to the marriage, but on the condition that Karan will be released from jail, to which Suryadev agrees.
When Karan is released, he learns about Kajal’s wedding plans and leaves enraged, to rescue his mother. As preparations are on for the wedding, Rohit is kidnapped by Bhanwari, and Karan is called to kill Rohit at their hideout if he wants his mother back. Karan goes and rescues Rohit and fights everyone, killing them all. But Suryadev thinks Karan is behind the kidnapping, and gives orders for him to be shot at sight.
Karan arrives at the wedding scene with Rohit and explains everything. Karan then insists that Rohit gets married to Kajal. Vishambar, present at the scene, gets to know of what has happened to his household when he receives a phone call from a dying Bhanwari, and enraged at Karan, snatches a machine gun and fires indiscriminately as Rohit is being married to Kajal, but Karan saves Rohit and Kajal, fights Vishambar and with a machine gun, kills him.
As the police take Karan away, Suryadev gives him Kajal’s hand, saying that he has killed a criminal, he is the real man for her, and he will keep her until he returns, promising him a quick return from jail and marriage with Kajal.