This animated film starts with Barbara Gordon/Batgirl (voice of Tara Strong) observing Bruce Wayne/Batman (voice of Kevin Conroy) meeting with Commissioner Jim Gordon (voice of Ray Wise). Gordon shone the bat-signal to call Batman due to a robbery in progress. Batman heads off to take care of it while Batgirl pursues the robbers herself.
The getaway van is driven by two punks, one among them being Paris Franz (voice of Maury Sterling), nephew of Gotham City's biggest crime lord Carlos Francesco (voice of John DiMaggio). Batman chases the crooks in the Batmobile while Batgirl leaps onto the van. She blows the backdoor open, letting some other criminals shoots at Batman. Paris shoots at Batgirl, causing her to fall off the van. She and Batman end up catching one criminal, but Batman is upset with Batgirl for getting in the way and almost harming herself.
Paris and his buddy meet with Francesco. He is pissed at his nephew for Batgirl's intervention, where four of Francesco's men were caught, as well as $100,000. Francesco orders Paris to get the money back, or he'll have him killed.
Paris and his goons go to rob a warehouse. Batgirl finds them, which Paris was counting on since he's developed an infatuation with her. He sprays her with knockout gas, but she has enough time to knee him in the groin before hiding out in the vault. Paris and the others get away. After she comes to and the police arrive, Batman meets Batgirl on a rooftop. He expresses his concern for her work on the case and orders her to stay off it. This angers Barbara, making her feel like Batman won't trust her.
The criminals are on their boat after a night with some prostitutes. Paris gets a call from Francesco, and when his buddy picks up the phone, he gets shot in the head. Outside the boat are four shooters on a motorboat. Paris and his other cohort make their getaway by rigging the boat to explode as the hitmen board it, killing them all.
Paris sends a video message to Batgirl so she can go looking for him. Batman is with her while she watches it. He knows it's a trap, so he tells her to stay off the case. She doesn't listen and follows the clues, leading her to find another phone with a message from Paris. She is led to an apartment where she discovers Francesco's dead body. Two of Francesco's men show up, forcing Batgirl to flee. Batman arrives and starts kicking ass.
Batman and Batgirl stand on a rooftop arguing. She is finally pushed over the edge and she begins to attack Batman. He defends himself but is quickly subdued. In the heat of the moment, Batgirl kisses him. She then takes off her cowl and suit, and they start to have sex. This later fills Barbara with regret.
The next night, Batgirl calls Batman as he is driving to find Paris. The Batmobile gets hit with an RPG by the docks. Batman ejects himself to safety and is faced by a bunch of crooks. Batgirl shows up on her motorcycle. She finds Paris and beats his face to a bloody pulp, but stops before she kills him.
Paris is arrested, but Batgirl realizes what Batman was saying in regards to his concern for her. She meets him as Barbara and tells her she is giving up being Batgirl.
A while later, Batman meets with Detective Harvey Bullock (voice of Robin Atkin Downes) at a crime scene where four men have been found dead, all of them with big smiles on their faces. Batman knows this is the work of The Joker (voice of Mark Hamill). He and Bullock go to Arkham Asylum to meet with him in his cell. The Joker appears to be obscured in darkness. Batman tells him that this will end with one of them killing the other. The man doesn't respond and continues stacking playing cards. Batman grabs his hand and sees the man has white powder on his hand. He pulls the man into the light and sees he is not Joker, but a decoy.
The real Joker is meeting with another man to buy out an abandoned amusement park for a sinister purpose.
We see a flashback of Joker before he became what he is now. He was a struggling comedian tending to his pregnant wife Jeannie (voice of Anna Vocino). The two had been in financial troubles for a while, and he was trying to find a way to support his growing family.
Bruce is in the batcave trying to figure out what Joker's motives are. Alfred (Brian George) tells him he can't save everyone.
Barbara is with her father in his apartment. She hears a knock at the door, thinking it's a friend of hers. It's The Joker, holding a gun. He shoots Barbara in her abdomen and sends her crashing onto a coffee table in front of Gordon. Two of Joker's men come in and beat Gordon before taking him away.
Another flashback shows Pre-Joker meeting with two gangsters at a bar as he tries to come up with some money. The gangsters want him to help them break into the chemical plant where he once worked so that they can pull off a heist at the card company next to it. They show Pre-Joker the mask they want him to wear, which is that of The Red Hood. Two officers find Pre-Joker at the bar and inform him that Jeannie has died in an accident. The man expresses grief and says he has no more reason to go through with the crime. The gangsters give him their condolences but insist that it's too late for him to back out now.
Batman finds Barbara at the hospital. The doctor tells him that she will never be able to walk again due to the through-and-through bullet injury to her spine. Bullock also implies to Batman that Joker may have raped her. Barbara wakes up and tells Batman that Joker is trying to prove a point, and that Gordon is "top of the bill".
Gordon is taken to Joker's amusement park where he is tortured by some of Joker's freak show henchmen. The freaks take Gordon onto a ride through a house of horrors as Joker puts on a performance with the other freaks. Gordon is forced to see pictures of Barbara nude and bloodied, with Joker's intention being to drive Gordon insane.
The last flashback shows Pre-Joker and the gangsters getting ready to pull off the heist as Pre-Joker wears Red Hood's mask and cape. They engage in a shootout with security as Batman arrives on the scene. The gangsters die while Pre-Joker is startled by Batman. He trips over his cape and falls into a vat of chemicals. He is swept out through a pipe into the river. Once he gets out, he sees his reflection in a puddle. His skin is bleached white, his lips are red, and his hair is green. His mind then warps into insanity, and he is now The Joker.
Batman finds a clue that leads him to the amusement park. He finds Gordon, who remains sane. As Batman heads to pursue Joker, Gordon tells him to capture him "by the books" to show that their way works. Batman follows Joker into the funhouse as he fends off the freaks who try to kill Batman. Joker taunts Batman by saying the world isn't worth fighting for and how one bad day can turn anyone insane, as it was one bad day that led Batman into becoming what he is now. The two of them fight until Batman throws himself and Joker out the window. Joker tries to shoot him, but the gun only pops out a "click bang bang" sign. Batman tells Joker that he doesn't want either of them to kill each other, and he offers to help him be better. Joker declines, saying it's too late for him. He then starts to tell a joke about two men escaping from a loony bin. After the punchline, both Batman and Joker start laughing together.
During the end credits, Barbara is seen in a wheelchair. She goes into her room and onto the computer, where we see the Oracle logo, indicating that she has new work to begin.