In 1995, during the insurgency in Kashmir, Hilaal Meer (Narendra Jha), a doctor based in Srinagar, agrees to perform an appendectomy on Ikhlaque, the leader of a pro-separatist militant group. To avoid detection, he performs the surgery at his house, much to the chagrin of his wife Ghazala (Tabu), who questions his allegiance. The following day, during a military raid, Hilaal is accused of harbouring terrorists. A shootout ensues at his home, during which Ikhlaque is killed and Hilaal is taken away for questioning. The doctor's house is bombed subsequently to kill any other militant hiding inside. Several days later, Hilaal and Ghazala's son, Haider (Shahid Kapoor), returns from Aligarh Muslim University to seek answers about his father's disappearance. Upon arrival, he is shocked to find his mother singing and laughing along with her brother-in-law, Khurram (Kay Kay Menon). Unable to understand his mother's behaviour, he begins searching for his father in various police stations and detention camps with the help of his childhood sweetheart Arshia Lone (Shraddha Kapoor), a journalist.
Saddened by the growing closeness between Ghazala and Khurram, and unable to find any leads, Haider begins to lose hope. However, Arshia encounters a stranger, Roohdar, who asks her to inform Haider that he will be able to provide information about Hilaal. Haider contacts Roohdaar (Irrfan), who turns out to be part of a separatist group. Roohdar then narrates the story of how he met Hilaal in one of the detention centers, where they both were tortured. Hilaal attributes his imprisonment to his brother, Khurram. Roohdaar then tells the story of how Haider's father was brutally murdered by Khurram's made-up terrorist group and how Roohdaar survived after being shot and thrown into the river with Haider's father, which stopped his bleeding and allowed him to escape, though Hilaal died. Roohdaar then tells Haider that he simply wanted to pass on his father's message to him: revenge for Khurram's betrayal. Thereafter, angry and swearing to avenge the injustice done to his father, Haider breaks down at Hilaal's grave site and becomes mentally and emotionally shattered. He starts suffering from the effects of a post-traumatic stress disorder, shaving his head and behaving strangely. Khurram, after learning of the meeting between Haider and Roohdaar, tells him that Roohdaar was the one who killed his father. Haider is now confused as to whom to believe despite knowing the truth himself, and discloses his dilemma to Arshia, adding that Roohdar gave him a gun to kill his uncle. Arshia confides this to her father Pervez, who informs Khurram about the gun. Khurram, at a ceremony related to his marriage with Ghazala, which has now been solemnised, immediately orders his men to corner Haider and send him to a mental institution.
The following morning, Haider is all set to kill his uncle but cannot accomplish it because his uncle is offering prayers and his morals prevent it. Haider is captured by Pervez who orders him to be executed, but Haider manages to escape, although not before mercilessly killing his captors, the Salmans. He contacts Roohdaar, who suggests getting trained in Pakistan to avenge his father's death, and Haider agrees. He calls his mother and informs her about it to which she asks him to meet her once before going to the other side of the border. During the meeting, Ghazala discloses that she had told Khurram about the terrorists hiding in their house not knowing that he was an informer of the Indian army. Pervez traces them and is about to shoot Haider when Haider shoots him dead and escapes.
Tormented by her father's death at the hands of Haider, Arshia is emotionally traumatized and commits suicide. Meanwhile, Ghazala finds Roohdaar contact number from Arshia's diary and calls him. Haider goes to his pickup point, the graveyard where his father was buried. At the graveyard, Haider contemplates the universal nature of mortality. On seeing Arshia's brother Liaquat in the graveyard, he realises that the corpse is of Arshia. He runs towards her body where Liaqat sees him and informs Khurram. A fight ensues between Haider and Liaqat, resulting in the latter's death. Khurram arrives with full force and a gunfight ensues; meanwhile, Roohdaar drops Ghazala at the graveyard. A fierce exchange of bullets and bombs leaves only Haider and few men on Khurram's side alive. Just when Khurram is about to kill Haider, Ghazala pleads for a chance to convince Haider to surrender. She confronts her son who says that he cannot die before avenging his father's death. Ghazala tells him that revenge only results in revenge and there is no end to this cycle, but Haider, who is bent on revenge, does not understand. Ghazala kisses Haider goodbye and steps outside, only to reveal that she is wearing a suicide vest (given to her by Roohdar). Khurram and Haider rush towards her but she pulls the pins of the hand grenade resulting in a big explosion, killing herself along with the rest of Khurram's men and gravely injuring Khurram himself, while Haider is only slightly thrown back from the force of the explosion. Haider goes to his mother's remains, weeps by her side and goes to kill Khurram, whose legs have been severed from his body.
He is reminded of his mother's words that "revenge only results in revenge" and thus decides to let Khurram live. Khurram begs Haider to kill him to free him from the burden of guilt and to avenge his father's death, but Haider doesn't oblige Khurram, instead ignores him and leaves.