The story is about a young widow named Drishti Nair (Bipasha Basu). She is a psychic and has the gift of seeing into the future of anybody. After her break up with boyfriend Manav (Abhishek Bachchan) who truly loved her but had to move away to a different city, Drishti moves to a small remote village, where she meets Mohit (Sunil Shetty), an eccentric car mechanic who needs psychiatric treatment. Mohit has a crush on Drishti, which Drishti is unaware of. She begins a job of Tarot card reading, and her first customer is Rhea Trehan (Neha Dhupia). Rhea is a young model, who is repeatedly beaten up by her husband Sunny (Dino Morea). Rhea pleads for help to Drishti, when Drishti agrees to help her. Until, Drishti's son coming home from school one day, is attacked by Sunny, who calls Drishti a witch.
Sunny also breaks into their house and threatens Drishti to stay out of Rhea's life. When Mohit investigates that Drishti is being troubled by Sunny, the two beat each other up badly. After the brawl, Sunny is seen nowhere near Drishti. Drishti is living happily, until one day, the daughter of Mayor Raja Bahadur Singh (Sharat Saxena), who is Natasha (Amrita Arora) suddenly goes missing. Her fiancé Rahul (Sanjay Dutt) comes to Drishti and asks her for her help to find Natasha. Since Rahul is Drishti's son's school principal, she accepts. Soon enough, Drishti sees a vision of Natasha hung to her death opposite a river. Drishti informs Rahul, and the police finally find Natasha's dead body.
On top of this, it turns out that Sunny owns the river opposite to Natasha's death place. Sunny is then arrested, and the case of Natasha's murder is handed to ACP Ranbir Singh (Rajat Bedi) who doesn't believe of Drishti's gift, and also believes that Sunny is innocent, and the actual murderer is still free. Now, they must work together and figure out who is behind Natasha's murder and why!