Jai Puri (Akshay Kumar) is a forest ranger in the woods near Alberta, Canada. Jai lives in a cabin with his girlfriend Sheila (Ayesha Takia Azmi), but has been estranged from his parents, Jatin (Benjamin Gilani) and Savitri Fakri (Sharmila Tagore). Jatin is the CEO of a privately held Canadian oil company, Canoil.
Jai has a supernatural gift: he is able to enter a photograph and vividly experience the events preceding the time of the photograph. Jai is unable to understand or explain this gift, except to recall that it started when he was very young. He tries to use this gift to help people, despite the risks to his own body. He can remain in photographs only for a minute, and experiences life-threatening, stroke-like effects afterward.
Jai’s father drowns in a boating accident under mysterious circumstances. Jatin was aboard his own boat, the Golmaal, and was surrounded by his wife; his brother, Sunder (Anant Mahadevan); longtime friend and lawyer Anil (Girish Karnad); and Adit (Rushad Rana), Jatin’s surrogate son. Eccentric former detective Habeebullah Pasha “Happi” (Javed Jaffrey), who suffers from OCD, believes Jatin may have been murdered, and that everyone on the boat at that time may have had a motive. The only clue is an 8×10 photograph of the four men, which Savitri shot a few moments before Jatin fell off the boat and had a hypothermia-induced heart attack.
Jai repeatedly uses his gift to enter the photo and experience the incident through the eyes of the four subjects in it. He picks up various clues from the viewpoint of the subject. He first uses it to see through his father’s eyes and notes the suspicious behaviour of his Uncle Sunder, when he confronts him, Sunder tries to run away. Happi follows up on these clues and tries to string together a theory. As Jai looks through the eyes of his Uncle, he sees Sunder slipping pills into hi father’s champagne. But Jai feels his body gradually weakening from the stress of entering the photo. He goes to hospital and when he tells the theory to Adit, he tells him to forget about it. When he goes to confront Sunder once more at his house, he is found hanged, an apparent suicide, and a mysterious party in a black SUV tries to kill Jai and Sheila. She convinced him to stop as finding his father’s killer is trying into an obsession. Later, someone makes an attempt on Savitri’s life. He goes to his mother’s house but sees her and Anil embracing – to which they finally confess that they had feelings for each other in the past but his mother stayed loyal to his father.
Uncle Sunder so he could slip them in. Happi enlists the help of a nurse, Sally (Pia Shah), who helps with medical aide to Jai in order to help him find the killer. Jai enters the photo one last time to find the final set of clues, he looks through the eyes of the remaining two people on the boat, the last one being Adit. He sees Adit giving the pills to his Uncle Sunder so he could slip them in.
Jai is incapacitated because his body is tired. Adit realises he knows the truth and is about to kill him but Happi returns before he can do so. However, he manages to escape.
He asks Anil about what happened on the boat and he reveals that his father wanted to give the company to Jai’s environment company, as this was what they had argued about in the past. So his uncles and Adit planned to kill him so they wouldn’t lose their share.
Jai decides to go into the picture one more time because he knows his father saw another person. However, the real killer enters the house and burns the photograph while Jai is still inside. However, thanks to the injection Sally gave him, he manages to revive himself.
Finally as he wakes up he is set upon by his now-grown twin, Jeet (also Akshay Kumar) who had been presumed dead but had survived the fall from the cliff to live a hellish and abusive childhood. After Jeet reveals himself, Sheila is shown to have been working with Jeet, betraying her “love” Jai. During a tussle, Happi arrives at Jai’s cabin and tries to help, but Sheila kills him with an axe. When they are on the boat, they reveal how they had convinced Adit and Sunder to participate in the scheme and how Sheila pretended to love Jai in order to get close to him and learn his habits, so once he was dead, Jeet would take over as Jai. Jeet and Sheila dump Happi’s body, as well as that of their betrayed confederate Adit, into the sea, and attempt to do the same with Jai. Jai escapes, and attempts to reconcile with his long-lost brother, while Shelia convinced him to kill Jai. Touched, Jeet kills Sheila as she fires on Jai, but her shot hits Jeet, the brothers bid each other farewell before Jeet dies. In the end, Jai moves in with his mother, as he stares at a family photo of the four of them, his mother puts her hand over the photo and smiles and shakes her head before they embrace.