A couple, Meera (Anushka Sharma) and Arjun (Neil Bhoopalam), are enjoying a party, where Meera gets an urgent work call from her office. On the way, she is attacked by some street punks who smashed her car's window. Meera manages to escape but is shaken by the incident, so Arjun buys Meera a gun and instructs her to keep it in her handbag at all times for protection. Arjun suggests a road trip for Meera's upcoming birthday. The couple starts their journey the next day. While stopping at a roadside dhaba for lunch, Pinky (Tanya Purohit Dobhal), a petrified young girl, arrives and pleads for help, saying a few men are about to kill her. Meera shakes her off but they see a gang of men round up the same girl and a boy, beat them savagely and drag them to an SUV. Arjun intervenes but Satbir (Darshan Kumar), the gang leader, slaps Arjun and asks him to keep off by saying that the girl is his own sister. As the horrified couple watches, the gang drives off in the SUV. Despite Meera's pleadings, Arjun feels compelled to act and drives after the gang since he cannot digest the casual cruelty he saw. On a deserted area of the National Highway, the couple witnesses a brutal honor killing of the young boy and the girl Pinky. Terrified, Arjun and Meera attempt to flee but the gang finds them. As the gang digs the boy's grave, Satbir uses Meera and Arjun's gun to shoot Pinky, who hadn't died with the poison Satbir fed her. A fight ensues and Arjun shoots Chhotey (Ravi Beniwal), one of the gang members. The gang is enraged and the couple runs for their lives.
At night, the couple finds themselves face to face with one of the gang members. As Arjun gets injured by one of the gang members, Meera shoots him dead. They make it to a railway bridge, where Meera tells Arjun to wait till she gets help. She finds a police station where she asks a policeman to help as they have witnessed an honor killing – at the mention of that term, the cop throws Meera out of the station. On the way, a Police Inspector (Sushil Tyagi) meets her in his Maruti Gypsy and on her request, he starts driving back to where Arjun is lying injured. By his talks and behavior, Meera realizes that the Police Inspector is also in collusion with her attackers. She manages to stab him in his eyes, killing him and drives off the Gypsy, with the gang chasing her in their SUV. As they find her overturned Gypsy, Meera stumbles off and finds a laborer's hut. The laborer and his wife hide her from the gang member Fauji (Ravi Jhankal) who comes asking about her, but they are afraid to help her directly and advise her to go to the chief (Sarpanch) of the nearby village.
Meera reaches the village's Chief Ammaji (Deepti Naval), to whom she tells her story. Ammaji's mood changes the moment she hears of the honor killing and a puzzled Meera looks around to see a pillow cover on Ammaji's lap with the word 'Pinky' stitched on it and a photograph of the dead girl in the room. Ammaji rapidly locks her in the room and calls the gang. As they arrive Ammaji criticizes them for a shabby job and hands Meera over to them. They drag her out and beat her in the courtyard in order to kill her. However, she manages to escape with their SUV and rushes to the railway bridge to find that Arjun has been murdered brutally by the gang.
Meera shrieks in grief and rage and returns to the village to avenge Arjun's death, where she drives the SUV ruthlessly into two gang members, killing them instantly. Then she kills the other gang members too. Ammaji arrives and gasps, seeing all the men dead. She says Pinky was her own daughter but she broke rules and needed to be punished so they did what had to be done. Meera echoes her words and leaves the village as dawn breaks.