The film opens with short-order cook Frank Darbo (Rainn Wilson) telling the audience of the only two good memories he's had in a life of disappointment: marrying his beautiful wife Sarah (Liv Tyler), and an incident in which he directed a police officer to catch a purse snatcher. Frank immortalizes these two events in a pair of crayon drawings he hangs on his wall for inspiration.
Later on, Sarah, a recovering addict, leaves Frank for Jacques (Kevin Bacon), a charismatic strip club owner who gets her hooked on drugs. Frank sinks into depression, where he has a vision in which he is touched by the hand of God and meets the Holy Avenger (Nathan Fillion), a superhero from a public-access television show on the All-Jesus Network who tells Frank that God has chosen him for a very special purpose. Frank believes that God has chosen him to become a superhero and goes to a local comic book shop for inspiration. His claim that he is designing a new superhero is met with enthusiastic appreciation from the foul-mouthed store clerk, Libby (Elliot Page). Frank creates a superhero costume and assumes the identity of "The Crimson Bolt". Armed primarily with a pipe wrench, he begins to fight crime by delivering savage beatings to various rule breakers ranging from drug dealers and child molesters, to a man who cuts in line at the movies. The Crimson Bolt soon becomes a media sensation. Initially, the media views The Crimson Bolt as a violent psychopath, but he begins to gain public appreciation after the criminal backgrounds of many of his victims come to light. Frank later attempts to rescue Sarah, but Jacques's thugs recognize him under the costume and shoots Frank in the leg while he flees.
A wounded Frank goes to Libby for help, as his home is no longer safe with Jacques's thugs looking for him. Libby cajoles Frank into letting her become the Crimson Bolt's "kid sidekick", christening herself "Boltie" and designing a sexually suggestive costume. She proves to be even more unhinged than Frank, using her superhero guise to almost kill a man who may or may not have keyed her friend's car. Frank decides to let her go, but changes his mind when Libby rescues him from some of Jacques's thugs at a gas station. Libby soon becomes enamored with Frank, but her advances are turned down as Frank insists that he is still married. Deciding it is different when they are in their superhero identities, Libby jumps onto and molests Frank while the two are in costume. Moments later, Frank throws Libby onto the floor and runs to the bathroom. There, he encounters a vision of Sarah in the vomit in his toilet and decides that now is the time to rescue her from Jacques.
Armed with guns, pipe bombs, and bulletproof vests, Frank and Libby sneak into Jacques's ranch killing the first few guards they encounter. Eventually, they are both shot; Frank is struck in the chest, his bulletproof vest sparing him, but Libby is struck in the head leaving only half of her face and dies instantly. Devastated by her death, Frank goes into a rage, killing all of Jacques's thugs. Inside, he has a final showdown with Jacques. Jacques shoots Frank and wounds him. Frank gains the upper hand, though, and stabs Jacques to death after a final monologue. Frank takes Sarah home, and she stays with him for a few months before leaving him again. This time, however, she manages to finally overcome her addiction and uses her experiences to help others with similar problems. She remarries and has children. Frank realizes that he wasn't the chosen one, Sarah was, because if Frank and Libby didn't go to Jacques' ranch that night, her children wouldn't have been born. Frank's convinced that her children will change the world.
Frank, now with a pet bunny, looks on his wall of happy memories. Frank's entire wall is covered with pictures of his experiences from his time spent with Libby and pictures of Sarah's kids, who call him 'Uncle Frank', to totally new ones. Frank looks at every single picture, then he focuses on Libby's picture, and a tear runs down his cheek.