A man (Akshay Kumar) sits before a computer, building up a database of government officials. The police get information that 10 tehsildars across Maharashtra have been mysteriously kidnapped. The one common feature is that they are all corrupt. But they are as mysteriously returned – except the most corrupt one, who is publicly hanged with all the case files about his corruption.
The police get a CD from mystery man ‘Gabbar’ who says his mission is to target corrupt officers. Constable Sadhuram (Sunil Grover) is convinced he can crack who Gabbar is – but his superior officers humiliate him and tell him to fetch them samosas instead. Sadhuram is a constable only because he didn’t bribe to become an officer. He decides to take time off to follow the case and get promoted.
Meanwhile, Professor Aditya (Akshay Kumar) is conducting a sports class in National College when goondas try to force a bandh. Aditya beats up the goondas and throws them out. On his way home, pretty lawyer Shruti (Haasan) makes him stop and drive her and a pregnant woman to hospital. The expectant mother delivers on the way and Shruti handles it expertly, having learnt online. She shows the baby to Aditya whose eyes well up. When Shruti wants to thank Aditya in the hospital, she finds he’s left.
In a new CD to the police, Gabbar now announces he will target PWD babus. As PWD officials frantically try to return bribes and seek police protection, Gabbar strikes – but kidnaps a district collector who diverted water from poor farmers to sugar barons and politicians, driving hundreds of desperate farmers to suicide. Gabbar and his gang hang him in public.
Sadhuram finds from village tehsil to district office that there’s one honest officer in each department. He’s convinced all these honest officers have a link to the Gabbar case. Meanwhile, Shruti bangs her scooter into a senior lawyer’s car and claims it was his driver’s fault. But Aditya who’s been watching jumps in and tells the lawyer Shruti banged his car. Shruti pays the lawyer and affectionately punches Aditya. She tells him to attend the little baby’s name ceremony where Aditya gifts him a gold chain.
Shruti and Aditya get closer and one day, as they’re walking by, she gets hit by a scooter. Although she’s not badly injured, doctors at Patil Hospital insist on expensive tests and Aditya realizes how helpless patients and their families are fleeced and often, inhumanly treated. A poor woman mourns her deceased husband in the civil hospital nearby. Aditya tells her he’ll get her medical insurance.
He checks in her husband as a patient to Patil Hospital which cynically tries to make money by pretending to treat a dead man. They make Aditya pay for tests, medicines and a neurosurgeon, then say the man is dead. But Aditya shows them the death certificate which proves they admitted a dead man! He says they will have to pay the poor woman 50 lakhs in damages as their truth has been recorded on her daughter’s mobile. When they attack him, he beats them up and they brokenly agree. The young owner of the hospital is furious when Aditya then releases the video of the hospital’s corruption to the media. He is surrounded by a furious mob and he shoots in the air with a gun – but the mob beats him to death. His father, powerful builder Digvijay Patil (Suman), arrives, and finds Aditya in the hospital CCTV footage – only, he says this is a man he killed five years ago! He is determined to find him for revenge.
Aditya and Shruti attend a wedding where Aditya remembers his late wife (Kareena Kapoor Khan) and how they moved into a new apartment when she was expecting. While Aditya was out playing Holi, the building collapsed and killed hundreds of people including his wife. Aditya collected proof of faulty building against builder Digivijay Patil but Patil bribed everyone and no one was willing to hear Aditya out.
Digvijay sneeringly offers Aditya some money while government officials give him mock apologies. Aditya beats Digvijay severely but the latter attacks him with an axe and thinks his blows have killed Aditya. But a bus full of medical students finds unconscious Aditya on a highway and save his life. He then decides to use the power of young, idealistic, honest youth and trains students at National College to join his cause. Sadhuram meanwhile finds out all the honest officers attended National College.
The next CD from Gabbar says he will target a cop. All corrupt cops get scared but Aditya and his gang kidnap Gawde, whose son is part of the gang and supports Gabbar’s actions. Shruti sees Aditya as Gabbar and is shocked but when he tells her the truth, she supports his cause.
CBI officer Pahwa taking charge is mystified by the case. He listens to Sadhuram’s findings and they arrest National College students. But even upon being beaten, the students don’t divulge anything about Gabbar. Shruti brings her legal team to the police station, insisting the parents can meet the students. Gawde’s wife meets her son amongst the students. The CBI officer requests her to tell her son to divulge the name of his father’s killer – but she instead tells him never to do so. Shruti tells the CBI officer that because the law doesn’t work, a vigilante like Gabbar is a hero for ordinary citizens today. Sadhuram changes his view of Gabbar.
Meanwhile, Patil kills an honest officer to terrorize others into passing his faulty building plans. The cops are sure Gabbar will target Patil for this outrageous act – and he does. Patil throws a birthday party for himself at his farmhouse where his followers wear his masks and there’s an item number featuring Chitrangada Singh. As he cuts the cake, he spots Gabbar in the crowd. The next moment, Gabbar and his gang have surrounded him and kidnap him, wearing the same masks. The police reach too late.
As the police search the city for Patil, he’s kept secretly by Gabbar in his own farmhouse. Gabbar tells him to ring anyone to save himself – but every minister tells him to not involve them, so that Gabbar doesn’t come after them next! Sadhuram picks up the police station phone and refuses to acknowledge Patil’s call. Gabbar and Patil then have a violent clash and Gabbar kills Patil.
Gabbar goes to the police to hand himself in. He is given the death penalty but there are huge public protests and enraged students block his jail van. Officer Pahwa requests him to speak to the students and he does, telling them to channel their anger against corruption and be the change society needs. As Gabbar is taken to be hanged, Shruti breaks down but he leaves, smiling, asking the hangman, Ab tera kya hoga, Kaalia – the famous dialogue of the film Sholay?