A poison gas attack on a Kolkata Metro Rail compartment kills all the passengers on board. Two years later, Vidya Bagchi, Vidya Balan, a pregnant British-Indian software engineer, arrives in Kolkata from London during the Durga Puja festivities in search of her missing husband, Arnab Bagchi. A police officer, Satyoki "Rana" Sinha, offers to help. Although Vidya claims that Arnab went to Kolkata on an assignment for the National Data Center (NDC), initial investigations suggest that no such person was employed by the NDC. Sub-Inspector Inderjeet Singh, Arjun Rampal, teams up with her, and the two begin to untangle a web of secrecy that thickens with every lead.
Agnes D'Mello, the NDC's head of human resources, hints that Arnab may have resembled a former employee named Milan Damji, whose file is likely stored in the old NDC office. Before she can offer more help, Agnes is killed at her doorstep by Bob Biswas, an undercover assassin posing as a life insurance agent. Vidya and Rana manage to break into the old NDC office, locate Damji's file, and narrowly escape Bob, who is also sent to hunt for the same information. Their inquiry draws the attention of two Intelligence Bureau officials in Delhi, chief Bhaskaran K. and his deputy Khan. Khan arrives in Kolkata and reveals that Damji was a rogue IB agent tied to the poison gas attack. Despite Khan’s warnings, Vidya presses on, convinced that Arnab’s resemblance to Damji might have pulled him into dangerous circles.
The address on Damji's record leads Vidya and Rana to a dilapidated flat. An errand boy from a nearby tea stall identifies R. Sridhar, an NDC officer, as a frequent visitor to Damji's flat. Bob makes another attempt on Vidya’s life but is instead run over during a frantic chase. A forensic look at Bob’s mobile phone points Vidya and Rana toward an IP address, sending them on a digital breadcrumb trail. They break into Sridhar's office to verify the address, but Sridhar is alerted and returns to his own workplace. In the ensuing scuffle, Vidya accidentally kills Sridhar, a blow that irritates Khan who had hoped to keep him alive for questioning.
Sridhar's computer data yields a decipherable code that leads to Bhaskaran's phone number. Vidya reaches out to Bhaskaran, offering to hand over the sensitive documents from Sridhar’s machine in exchange for help locating her husband. Bhaskaran redirects her to the local police, adding another layer of urgency to the search. A mysterious caller warns Vidya that she must surrender the documents to stay alive, and Khan suspects the caller might be Damji.
Vidya, Rana, and Khan converge on a meeting arranged with Damji. The encounter intensifies quickly: Damji tries to flee, Vidya confronts him, and a tense struggle ends with Vidya disarming him using a prosthetic belly she has worn to fake a pregnancy. She stabs him with his own gun and disappears into the crowd, leaving a note of thanks for Rana and a pen drive containing Sridhar’s data that leads to Bhaskaran’s arrest. Rana concludes that Vidya and Arnab Bagchi never truly existed and that Vidya had been manipulating the police and IB networks to advance her own aims.
That shocking conclusion is pieced together with a stark revelation about Vidya’s true identity: she is the widow of Major Arup Basu, an IB and Army officer who died in the same poison gas attack. The memory of her husband, and the anguish of their unborn child, drives her relentless pursuit of justice. The mission is aided by Col. Pratap Bajpayee, a retired IB officer who suspected the involvement of a high-ranking IB official. The film closes with Vidya’s resolve intact, revealing a calculated and personal pursuit of vengeance shaped by loss, memory, and a will to uncover the truth behind the attack.