The film is set in the fictional city of Bharat Nagar, which is hailed as an example of progress through infrastructure. State government is planning to build an International Business Park (IBP), making the city a Shanghai.
Bhaggu (Pitobash Tripathy) participates in the assault of a local bookstore owner who stocked the copies of Dr. Ahmadi's (Prosenjit Chatterjee) latest book, which criticises the local political party Morcha for ignoring the plight of the poor in its quest for infrastructure. Ahmadi, a socialist academic, is scheduled to visit Bharat Nagar for a speech. Shalini (Kalki Koechlin), a former student of Ahmadi, is part of a small group that struggles to raise awareness about the underside of the local party's platform. Jogi (Emraan Hashmi) works in a video shop of questionable repute with the owner Vinod. Krishnan (Abhay Deol), an IAS officer and Vice Chairman of IBP, who is the favourite of the Chief Minister (Supriya Pathak), is assured by Principal Secretary Kaul (Farooq Sheikh) of a promotion and a trip to Stockholm.
Ahmadi arrives from New York City and delivers a scathing speech against the establishment. A mob gathers and attacks his associates. Ahmadi is run over by a Tempo driven by Jaggu (Anant Jog), who is arrested. Ahmadi winds up comatose in a hospital. Shalini is confident that this was a planned attack. Vinod informs Jogi that he has incriminating evidence against the IBP and wants to sell Shalini the tape. Dr. Ahmadi's wife Aruna (Tillotama Shome) agrees to lead a media campaign demanding the truth, though she seems uninterested. The campaign forces the CM's office to set up an inquiry commission headed by Krishnan. Krishnan finds that the police are hiding evidence, so he summons SSP Chavan (Chinmay Mandlekar), who is also uncooperative.
Shalini meets with Vinod but leaves when Vinod says that he won't give the video for free. Later, Vinod is found dead in what looks like an accident. At a later Morcha rally where Jogi is filming, Damle, head of the local party leader Deshnayak's (Kiran Karmarkar) men, informs him that he knows about the tape, subtly threatening him. Jogi is about to pack up and leave town, but he and Shalini discover the identity of the goons. Shalini and her group presents Krishnan with the CD of evidence linking IBP goons to the accident. After viewing it, Krishnan sends out a summons to the leader Deshnayak, who rejects it in a public rally, sparking up a riotous mob. Shalini visits Jogi, and Morcha thugs attack the studio. Jogi and Shalini manage to escape and hide out on the roof until morning. In the chaos of the riots, Bhaggu is found dead, ostensibly killed by Damle's men because of Bhaggu's had threatened Damle that he would spill the beans about attack on Dr. Ahmadi as Damle had not paid the fee for Bhaggu's English classes and was not answering his repeated calls.
Shalini receives a panicked call from her maid Gauri, who says that Gauri's family is in danger. Shalini and Jogi sneak over to Gauri's place, where it is revealed that Jaggu is Gauri's husband. Jogi remembers that Vinod kept a backup of the incriminating video, and sneaks back to the studio to get it. Krishnan meets with the Chief Minister about the inquiry. The Chief Minister, buoyant because she has an opportunity to eventually become Prime Minister, presents Krishnan with the approval of his Stockholm trip, and a high promotion. She also asks Krishnan to stop the probe and hand over all his findings to the CID of the State Police, which shall now investigate the case further.
Jogi finds the CPU amid the studio's wreckage and has a narrow escape from the thugs chasing him. They all show Krishnan the video, which establishes that Deshnayak conspired to have Ahmadi killed and the Chief Minister was complicit in this plan. Krishnan confronts Kaul with the truth, and Kaul threatens to ruin Krishnan's career. Undeterred, Krishnan blackmails Kaul, until Kaul finally leaves to talk to the Home Minister's secretary. In the hospital, Ahmadi's family decide to take him off life support.
An epilogue explains the fate of the major characters: Krishnan refused the chance to go to Stockholm to ensure that a national investigation is opened up as per his plan. Jogi escaped Bharat Nagar but as a pornographer wanted by the police. He is declared untraceable. Shalini wrote a book about the conspiracy, but it is banned in India. In the closing scene, Jaggu is operating a bulldozer demolishing old homes for IBP. A poster carries Aruna's picture with the slogans, "Chief Minister for all, IBP for all."