In the four years since Dave became the costumed vigilante known as Kick-Ass, Mindy has been enrolled at school by her new guardian and her father's former partner Marcus (Morris Chestnut) but has been cutting to continue training herself to become tougher. She hasn't gotten caught because she hacked the school's server and gave herself perfect attendance. Dave is dealing with being a high school senior and an increase in fatigue and boredom, even around his friends Marty (Clark Duke) and Todd (Augustus Prew). Additionally, other individuals have gone around dressed as superheroes, inspired by Dave's heroism. Dave asks Mindy to help him continue training to become as good a fighter as she is, which means she subjects him to a lot of beatings and bullets to the chest.
Meanwhile, the spoiled and rotten Chris D'Amico (Christopher Mintz-Plasse) has moved to Long Island and is still seeking revenge against Kick-Ass for the death of his father (in the previous film). He complains to his mother Angie (Yancy Butler) and his new bodyguard/driver Javier (John Leguizamo) about her removing a news report on Kick-Ass from the DVR. Angie blocks out her son by drinking and getting into a tanning bed. Chris throws a tantrum and starts kicking the tanning bed, causing it to break and electrocute his mother.
Dave expresses a fear of dying to Mindy, especially after her father was killed trying to be a superhero. Mindy tells Dave that if he fears death, he will eventually die, and adds that she considers her dad to have been the first true superhero.
Chris is putting away his mom's belongings after her funeral, when Javier comes across a pair of guns that she owned. Chris also happens upon some S&M gear of hers (including anal beads), but he is most interested in the outfit that she has.
Mindy puts Dave's training to the test by having him walk around a dangerous part of the city dressed as a pimp. He is followed by a group of four thugs who harass him with homophobic slurs, but Dave starts to take them on, doing pretty well until they gang up on him. One thug pulls a knife and prepares to kill him, but Mindy comes in dressed as Hit-Girl and single-handedly takes all of them out, ending with her slicing the hand off the lead thug with the knife. Dave and Mindy hear police sirens, forcing Mindy to run. Marcus overhears on the radio that someone fitting the description of Hit-Girl is on the run, and he calls Mindy, who fakes sick and rushes home on her motorcycle before Marcus gets home. She makes it and nearly fools him until he spots blood on her cheek, then sees she's still wearing her costume. Marcus tells her it is time for her to be done with Hit-Girl for good.
Dave finds Mindy at school the next day and tries to talk to her, but she says she's sorry for ditching him and nearly getting him killed, and that she is done with Hit-Girl. Unfortunately, everybody overhearing this conversation thinks Mindy is breaking up with Dave. This includes Dave's girlfriend Katie (Lyndsy Fonseca), who effectively breaks up with him when she mistakenly thinks he is seeing Mindy and refuses to listen to his denials.
Dave still takes it upon himself to be Kick-Ass, receiving a welcome back from the citizens of New York, but he feels alone without Hit-Girl as his partner. He contacts another costumed citizen named Dr. Gravity (Donald Faison), who claims to be a physics professor (he's not) who has a weapon that levitates objects (it's a baseball bat wrapped in tin foil). As he walks the streets, Kick-Ass is attacked by two thugs. He fights back and is helped by Dr. Gravity. They send the thugs away, and Dr. Gravity invites Kick-Ass to join his team of heroes.
At the same time, Chris has donned his mother's S&M gear and fashioned himself a super villain costume, calling himself...The Motherfucker. His first act as a villain is to try and spread the word of his crimes by robbing a convenience store, but he's pissed to find there are no cameras around. He instead starts shooting the beverages, even hitting himself in the eye with his gun because of the recoil.
Marcus, deciding that Mindy needs to live a normal life as a teenage girl, takes her to her first slumber party at the home of the high school's queen bee, Brooke (Claudia Lee), joined by Brooke's two shallow friends Harlow (Tanya Fear) and Dolce (Ella Purnell). They pester Mindy with questions such as if she's ever done anything with a boy. They put on a music video from a boy band called Union J, which gets Mindy's hormones going. She joins the girls to go sniff bath salts.
Meanwhile that same evening, Kick-Ass joins Dr. Gravity at a meeting place for a new team of superheroes known as Justice Forever, led by former mafia hitman turned Born Again Christian superhero, Colonel Stars and Stripes (Jim Carrey). Also joining them is Night-Bitch (Lindy Booth), a young woman who started fighting crime after her sister was murdered; a husband-and-wife duo named Remembering Tommy after their son who disappeared; Insect Man (Robert Emms), a gay superhero who doesn't wear a mask because he feels he has nothing to hide; and Battle Guy, who is really Marty faking an origin story to sound cool, though Dave recognizes him and reveals to Marty that he is Kick-Ass. Together, Justice Forever patrols the streets of the city performing good deeds, such as volunteering at a soup kitchen. Dave enjoys the experience and even starts hooking up with Night-Bitch. Todd tries to join with a wetsuit of his own, taking on the name Ass-Kicker, which Dave and Marty mock him for, causing him to angrily leave.
Chris decides to train himself to fight against Kick-Ass, going as far as getting help from Chuck Liddell. He gets his ass kicked by a skilled fighter (Daniel Kaluuya), but Chris decides to hire this guy to join his planned supervillain team, naming this guy Black Death (which Javier thinks is racist).
At school, Brooke tries out for the cheerleading squad by putting on a risque performance for everyone watching. When Mindy is up, she visualizes a fight as Hit-Girl between a couple of ninjas. She shows off her fighting skills and passes it off as dance moves, which impresses everybody and makes Brooke look inferior.
One evening, Dave and Marty go off in their superhero costumes to join Colonel Stars & Stripes and Night Bitch to catch a man named Jimmy Kim (Benedict Wong), who is running a prostitution ring with girls, and even children, from his village. Colonel S&S busts the bouncer up and storms in with the other three heroes, taking out Kim's gangsters together. When asked where the girls are, Kim refuses to comply, so Colonel S&S brings in his dog Eisenhower to take a bite of Kim's groin, and then threatens to shoot Kim in the head until he relents and admits where the girls are. Justice Forever frees the girls and gives them over $50,000 from Kim to send them on their way.
Meanwhile, Chris continues recruiting villains for his team. With Javier's help, he picks three people: a short-statured and ruthless killer who Chris names The Tumor (Andy Nyman); a former Triad member who is dubbed Genghis Carnage (Tom Wu); and a hulking blond Russian ex-KGB woman who apparently ate her cellmate. She is named Mother Russia (Olga Kurkulina).
Mindy goes on her first date with a boy named Simon (Wesley Morgan). He drives her out to the woods where he tries to hook up with her, but she refuses. Mindy then hears something in the woods and walks near it, only to find Brooke and her friends, along with other high schoolers, parked in their cars. Brooke walks out and tells Mindy that she's a loser who messed with the queen bee and is now getting stung. She gets Simon (whom is her boyfriend) to ditch Mindy and leave her alone in the woods. Mindy goes to Dave's house in tears, expressing her humiliation. He reassures her that she is tough and beautiful, inspiring her to be herself to take them on.
Mindy goes to school the next day looking absolutely stunning in a purple dress and wearing make-up. She catches Brooke trying to use some "Mean Girls" ploy on a dowdy-looking girl, but Mindy tells the girl she doesn't need to follow them and gives her a wad of cash to get herself something nice. Brooke tries to browbeat Mindy again by telling her that she will never live the life that Brooke does, but Mindy simply responds by pulling out a device that looks like a phone. It turns out to be something from her father that causes vomiting and diarrhea. She uses it on Harlow and Dolce, causing them to projectile vomit, and then pulls it on Brooke, causing her to puke and shit herself in front of everybody.
Chris visits his Uncle Ralph (Iain Glen) in prison to ask for his help in killing Kick-Ass. Ralph laughs Chris off, especially when he tells him that his name is The Motherfucker. He has one of Chris's guys call Javier, making Chris listen to Javier getting stabbed and killed by one of Ralph's guys. This inspires Chris to do something drastic.
Colonel S&S is alone with Eisenhower when the dog starts barking. The Colonel finds nothing but then finds The Motherfucker and the other villains coming in. They call themselves the Toxic Mega-Cunts. Mother Russia breaks the Colonel's leg and impales him with a large blade. Chris finds the address and identity of Night-Bitch, whose real name is Miranda Swendlow. He leaves Mother Russia to break the Colonel's neck and decapitate him.
Kick-Ass and the other Justice Forever team members hear of the Colonel's death. They know that Chris is bragging on Twitter as The Motherfucker about killing the Colonel, but they are unable to track his IP address. Dave goes home and finds his dad (Garrett M. Brown) in his room, holding the Kick-Ass suit. He knows his son has been going off late at night as a superhero, and he tells him to stop. Dave coldly rebuffs him and tells him that nobody will remember him when he's gone, and he leaves.
The Toxic Mega-Cunts make their way down a suburban street and find Night-Bitch's home. They break in and chase her into her room where The Motherfucker tries to rape her, but he can't get hard despite his efforts. He orders The Tumor to beat her up. When they leave, the police start showing up, and Mother Russia begins a full-scale assault on every officer who comes by. She grabs a canister of gas and puts a cigarette in there to make a bomb and hurl it at a cop car, then goes as far as ramming a cop car with another car that has a lawn mower on it, shredding two cops apart.
Distraught over the murder of 10 cops, the NY police begin to crack down on everybody seen wearing a mask or costume, whether they are criminals or not. They arrest the remaining members of Justice Forever. The cops arrive at Dave's home where Mr. Lizewski spots them. He takes the fall for Dave and is arrested, claiming that he is Kick-Ass. Dave calls Mindy to ask for her help, but she tell him that she is grounded for the incident at school and is unable to help. He visits his father in the city jail and is asked to promise that he will never wear the costume again.
In his villainous lair, The Motherfucker laments that the shark he bought is immobile. It's also shown that he has loads of fertilizer to make bombs. Todd shows up in his Ass-Kicker costume and inadvertently reveals to The Motherfucker that the man arrested for being Kick-Ass is Dave's father. We see two goons come into Mr. Lizewski's cell when the cops are gone, and they say they want a picture together. Dave and Marty then go back to Marty's place when Dave gets a text from Chris. He collapses to the floor in shock when he looks at his phone. Marty picks it up and finds a horrifying picture of Dave's father, bloodied and hanged by the neck.
Dave goes to his father's funeral, remorseful for what he said to him earlier. The members of Justice Forever (sans Night-Bitch, who is recovering in the hospital) attend without costumes after being released on parole. Dave sees Mindy, who consoles him. Several tombstones away, the Toxic Mega-Cunts (also without costumes) pull out weapons and fire at the attendants, releasing smoke bombs to create a diversion so they can abduct Dave and take him away in a van. Genghis Carnage orders him to put on the Kick-Ass suit, but Dave refuses. The villain pulls a knife on Dave, but he is shot in the head. Mindy has climbed onto the van and begins shooting at the other villains. After an intense and violent chase, she holds The Tumor at gunpoint and forces him to pull over. She interrogates him into telling her and Dave what The Motherfucker's plan is. She then tells Dave to look for pliers so she can cut off The Tumor's dick and feed it to him.
Mindy calls Marcus to tell him that the villains are creating fertilizer bombs to bring the city down. Dave sends out a mass message on Facebook to ask every other wannabe superhero for help.
The Motherfucker rounds up his army of villains to head out and execute their plan, but Kick-Ass and Hit-Girl infiltrate the lair. The Motherfucker laughs at them when he thinks they're fighting alone, but they open the doors to reveal their own army of costumed citizens, including Justice Forever. This makes most of the villains slightly more nervous. Kick-Ass throws the first punch and a large brawl ensues, with Kick-Ass fighting The Motherfucker while Hit-Girl takes on Mother Russia. Kick-Ass chases The Motherfucker out to the roof of the building while Mother Russia nearly kills Hit-Girl. She pulls out an adrenaline needle and holds it near Mother Russia, who thinks it contains a poison. She injects it into Hit-Girl, who fakes being dead, only to jump back with fury, bringing Mother Russia to her knees and repeatedly stabbing her with broken glass until she is dead. Meanwhile, Kick-Ass beats The Motherfucker's face in as payback for all the people he's hurt and killed. He falls through the skylight, but Kick-Ass catches him. The Motherfucker refuses his help and lets go, but then immediately regrets it. He lands in the shark tank and is then ripped apart by the shark.
The heroes make citizens arrests and detain the villains. Justice Forever meets on the roof as a team once more before they retreat to avoid being arrested again. Mindy drops Dave off somewhere on her motorcycle and says she is leaving New York because she doesn't belong there anymore. She kisses Dave and goes off. Dave concludes the film by saying that the world doesn't need a hero who is super, but someone who is brave enough and can really kick ass.
After the end credits, it's shown that Chris survived the shark attack, but his legs are gone, as are most of his fingers (and apparently his dick). He complains and asks for help as he is unable to even take a sip from his cup of water (but still leaving the door open for another sequel).