Three young friends, Bhavesh (Priyanshu Painyuli), Siku (Harshvardhan Kapoor) and Rajat (Ashish Verma) come up with a YouTube channel Insaaf TV, creating an online show about Insaaf (justice) trying to expose to people some common wrongdoings and corruption which are rampant in the city. Initially, their show garners success, where they, wearing paper-bag masks, help to solve or confront some small scale corruptions in and around their neighborhood. Time soon flies; Siku and Rajat get jobs at corporate sector after passing out from college. Their interest for Insaaf TV gradually fades out except for Bhavesh, who gets obsessed about eradicating corruption from society and continues with his vigilante acts despite a fall in their channel viewership. He receives an email from an elderly citizen about water problems existing in and around his locality and starts investigating the case. He discovers that the water pipes across the city meant for delivering water to the households have been fitted with extra pipes to siphon out water to water tankers which are then delivered to the various neighborhoods making people buy the same water which they were supposed to receive for free from the municipality. Bhavesh leaks this news to his channel and this results in the water mafia Patil (Pratap Phad), responsible for this act, starting to look into the true identity of the masked man behind Insaaf TV.
In the meantime, despite providing all the proper documents and doing multiple follow ups with the local police station, Siku's police clearance for his VISA processing to move to the US doesn't get approved until he pays bribe to the police officials to get the things done. Bhavesh becomes furious knowing this and they get initially engaged in a verbal tiff. An angered Bhavesh tells that all the govt. officials and politicians are corrupt and should be eradicated to cleanse the society with Siku recording his dialogues on his phone. Bhavesh punches Siku, breaking his nose. An enraged Siku uploads the video on Insaaf TV channel. Soon, Bhavesh is termed by the media as anti-national and unpatriotic. He is thrashed by the mob and then gets arrested thereby revealing his identity to Patil who warns him, but desperate to prove his innocence and uncover the truth to people, he sets out to gather evidence despite being injured. He gets caught in the process and Patil mauls him to death. The police hand over his body to Siku for last rites claiming it to be an accident and further warn him not to get involved into this. Blaming himself for Bhavesh's death, Siku tricks the police into believing that he has left for the US and takes refuge in an abandoned hotel which served as a safe house for their gang. He sets out covering his face in a mask and accidentally blows up Patil's pump house where he used to fill the siphoned water to the water trailers. It is then revealed that Patil has backing from the local political leader Rana (Nishikanth Kamath).
Siku gets himself a new vigilante costume, buys a motorcycle, customizes it by fitting nitro cylinders and interrogates govt. officer Subhash Mhatre (Hrishikesh Joshi) who reveals that Bhavesh was killed by Patil as he was about to uncover his illegal water supply activities. A fight breaks out between him and Mhatre's men during the interrogation and a nearly overpowered Siku is saved by Bhavesh's martial arts trainer. Siku posts his interrogation video in Insaaf TV and introduces himself as Bhavesh Joshi, still alive. He also starts learning martial arts and other combat techniques from the martial arts trainer. As the video goes viral, Patil gets arrested by police. However, Mhatre gets killed soon with police claiming it to be a suicide and that Mhatre has taken his own life out of guilt as he was forced to wrongly confess about Patil by Bhavesh. Patil is released due to lack of evidence. Siku disguises himself and visits the dance bar where Patil comes every night. He plants a bug in Patil's VIP room and gets to know that he is planning to blow up the water pipes across the city to create an acute shortage of drinking water. However, police inspector Sunil Jadhav (Chinmay Mandlekar) discovers him in the bar and after a long vehicular chase, a disguised Siku escapes, causing an enraged Patil to shoot a constable and forcing police to put the blame on Bhavesh.
Suspicious about who is behind Insaaf TV after Bhavesh's demise, Rajat starts to keep an eye on Siku's girlfriend, Sneha ((Shreiyah Sabharwal) and discovers that he has not left India and has assumed the identity of Bhavesh Joshi. Siku arrives at the place targeted by Patil's men and fights them, later getting caught and unmasked in the process. They succeed in their mission to blow up the water pipes with an injured Siku watching in vain. Patil and Rana tell inspector Sunil to kill Siku and dump his body in water thus putting the blame on Bhavesh Joshi for this terrorist act against Mumbai. Sunil hesitantly shoots Siku. Getting to know of the location from his secret hideout, Rajat follows Siku and captures everything on camera. Once Siku is thrown into water, he rescues him and takes him to a hospital. However, Siku suggests him to let people think that he is dead and so Rajat admits him to the hospital under a fake alias of Mohan. As Siku recovers, Mumbai suffers from acute drinking water crisis. Rana meets the Chief Minister and tells him that he can arrange for water free of cost but instead should get the contracts of all future water related projects. Everyone gets drinking water for free and both the CM and Rana become heroes in common people's eyes.
Rajat delivers the video of that night to Sunil Jadhav via a kid and forces him to open an investigation about the blast. As the true news spreads across the city Bhavesh Joshi starts gaining support and protests start everywhere. At night, Siku infiltrates Rana's house and takes out all his security guards. Rana comes down from his bedroom and sees all his bodyguards are knocked out and encounters "Insaaf-Man" (Based on the Graphic novel written by Rajat) at the balcony.
In a mid-credits scene, Insaaf-Man(Siku) is seen telling a driver to reverse his car from a no-entry road.