Frank Darbo (Rainn Wilson) is a meek fry cook at a diner who has had two perfect moments in his life: marriage, and assisting the police to apprehend a criminal. Now his marriage to Sarah (Liv Tyler) is beginning to crumble. He meets Jacques (Kevin Bacon), a stoner and friend of Sarah, who later runs off with her.
Frank tries to get Jacques arrested, but detective John Felkner (Gregg Henry) won't do it, and tells Frank to find someone else to love. Watching a Christian-themed program on TV, Frank is impressed by a costumed hero, the Holy Avenger (Nathan Fillion), who represents the will of Jesus. Frank tries to confront Jacques, but is beaten up by his henchmen. Frank is later visited by the Holy Avenger in a dream, and decides to become a super-hero.
Shopping for comic books, he meets Libby (Ellen Page), a clerk at the comic book store, who recognizes him from the diner where he works. He is inspired by the comic book, and becomes the Crimson Bolt. His first outing is a failure, and Frank goes back to the comic book store for inspiration, buying several comics on superheroes who have no real powers. After selecting a wrench for his weapon, he begins his assault on crime.
Still in love with Sarah, he continues to watch her as henchman Abe (Michael Rooker) drives her to a mansion. His co-worker Hamilton (Andre Royo) asks him to save a place in line for a movie, and Frank has an altercation with another patron who butts into the line, sending him to ICU. Fearing prison, Frank discards his costume, but after watching another episode of the Holy Avenger, he gets it back.
Frank stakes out the mansion, and sees Quill (Stephen Blackehart), Jacques, and Toby (Sean Gunn) doing drugs with Sarah. Jacques kisses her, and the Crimson Bolt smashes a window. The henchmen pull guns and he runs, taking a shot in the leg but escaping.
Frank goes to Libby's apartment, where she's hosting a party, and reveals his identity. Libby is very excited and impressed, and she treats his wound. She offers to become his sidekick, and auditions a costume and several sidekick names, finally settling on 'Boltie.' About this time, detective Felkner figures out Frank's identity, and searches his house. As he exits a dark closet, Abe and the henchmen shoot him dead, mistaking him for Frank.
The next day, Crimson Bolt and Boltie wait for crime. Boltie convinces him to assault a guy who keyed a car, but she gets very carried away, and Bolt has to stop her from killing him. At a gas station, the henchmen catch up with Frank, and chase him off. They pull guns, but Boltie hits one with the car, pinning him against a wall. Bolt grabs the gun and shoots a henchman, then drags Boltie, who's raving psychotically, back into the car. When they return to his house, Libby makes a pass at him, but he declines, stating he is a married man.
They then go shopping for weapons and train in a gun range. The media starts to defend them, and Libby becomes ecstatic on seeing a TV news article showing both Frank and herself as potential heroes. Starting to develop feelings for Frank, she wakes him up one evening and dances suggestively for him while in costume, culminating with her pulling his mask over his head and raping him. While puking in the toilet, Frank sees Sarah's image and vows to rescue her.
Jacques is hosting a drug buyer, Mr. Range (Don Mac), and Jacques gives Sarah to him so he can rape her. Bolt and Boltie storm the mansion, killing several guards, until Boltie is brutally killed in the shootout. Crimson Bolt goes on a rampage, killing more guards. Jacques' buyer tries to leave, and Jacques shoots him. Bolt breaks in and kills Quill and Abe. Jacques offers for him to take Sarah back and leave, and in the deception, he shoots Bolt, tormenting him by saying they're far more alike than Frank would want to admit. Bolt then kills him.
Bolt sadly puts Boltie's body in the back of his SUV, and he carries Sarah out and takes her home, where she helps him heal. In the epilogue, we see Sarah leaving Frank again, but Frank comes to terms with it, understanding that his saving her was the catalyst for Sarah returning to school, getting a degree, re-marrying to a caring man, and having four children, who send "Uncle Frank" cards and drawings. In the end, Frank has retired, adopted a pet rabbit, and has many more perfect moments to cherish.