Wealthy new parents Tucker and Esther Cobblepot (Paul Reubens and Diane Salinger) are burdened with a deformed and violent infant son. One snowy night, they dispose of him by tossing him, concealed in a basket, into a stream. The basket floats down through Gotham City's sewers and eventually arrives at the underground penguin habitat at the Gotham City Zoo, which had been out of business for some time.
33 years later, Gotham is preparing festivities for the Christmas season. Max Shreck (Christopher Walken), the corrupt owner of a company whose factories emit a dangerous amount of toxic waste, is nonetheless a celebrated local figurehead. Shreck joins the Mayor (Michael Murphy) at a city gathering to make a short speech, but a gang of grotesque circus performers descends upon the crowd. They attempt to kidnap Shreck, but the sudden arrival of Gotham's trusted hero Batman (Michael Keaton) sends them scurrying away.
Soon afterward, the circus gang manages to capture Shreck when he is alone in a dark alley. They take him through the sewers to the lair of their leader, the mysterious Penguin (Danny DeVito), who is the hideous Cobblepot child now spending his adulthood in the abandoned zoo where his basket had landed so many years before. The Penguin attempts to blackmail Shreck by threatening to expose his underhanded business dealings to the citizens of Gotham. Having no knowledge of his past life or true identity, Penguin sees Shreck as a potential vehicle for a chance to live on the surface and be accepted by others, thus giving him the freedom to track down his family. Shreck reluctantly agrees to work with the Penguin.
Shreck's awkward and overworked secretary, Selina Kyle (Michelle Pfeiffer), lives a lonely single life in a small apartment, with her only regular company being an alley cat who comes through the window every night for a saucer of milk. While working after-hours in the office, she accidentally stumbles across proof of Shreck's crooked business schemes. Shreck arrives and, despite Selina posing no blackmailing threat, attempts to kill her by pushing her out the window. She falls several stories into the alley below, but is strangely resurrected when a swarm of stray cats surrounds her. In a daze, she returns home and trashes her apartment. She makes a skin-tight black catsuit from an old jacket and attaches metal claws to her fingertips, thus reinventing herself as "Catwoman."
Meanwhile, the Penguin prepares to make his entrance into society. During a press conference, a circus gang member appears and snatches the Mayor's infant son from his mother's arms. After the gang member disappears down a manhole, the Penguin rises to the surface holding the unharmed baby. The setup turns the Penguin into a local hero, and he wins the respect of citizens and city officials alike. Shreck still acts as the Penguin's main adviser, and grants him access to the Hall of Records to search for information about his birth parents. The Penguin rifles through piles of birth certificates and composes a long list of names. He then ventures to a cemetery, flanked by reporters, and lays a flower on the grave of Tucker and Esther Cobblepot. He reveals that his birth-name is Oswald. The Penguin becomes a news sensation and a respected celebrity. Only Bruce Wayne (Batman) is suspicious, believing there is more to the Penguin's motives. With the help of his trusted butler Alfred (Michael Gough), Bruce investigates the Penguin's background and discovers that he had once been a member of a freak show in the Red Triangle Circus Group. On several locations at which the circus stopped for shows, children had mysteriously gone missing.
Taking the Penguin's respectability a step further, Shreck plans to have the current mayor impeached and replaced with "Oswald Cobblepot." Though the Penguin does not take kindly to image consultants, he relishes his rise to power. The circus gang uses setups to convince the public that the current mayor is unfit for office, resulting in even more support for the Penguin.
Bruce Wayne and Selina Kyle had met, in their usual identities, during a meeting with Shreck. There is a mutual attraction, but neither expects the other of leading a double life. At night, as their alter egos, they encounter each other after Catwoman blows up a Shreck department store. They eventually have a violent fight, ending in Catwoman being thrown off a tall building into a truck full of kitty litter.
Selina, as Catwoman, meets with the Penguin in an attempt to use his political power to get revenge on Batman. The Penguin agrees, clearly harboring intense lust for Catwoman, and they concoct a plan to frame Batman as a villain and turn all of Gotham against him.
The plan unfolds on the night of the ceremonial Christmas tree lighting in the city square. A beauty queen known as the "Ice Princess" is in her dressing room, preparing for her duty of pushing the button to light the tree. The Penguin confronts her, posing as a talent scout, before injuring her with a bat-shaped throwing knife and kidnapping her. Bruce Wayne, meanwhile, had invited Selina Kyle to his mansion for dinner that evening. Their romance intensifies, but when they see the news of the Ice Princess kidnapping on TV they hastily make excuses to leave. Batman hunts for the missing woman, finding her alive and bound in a tall building overlooking the town square. Before he can release her, Catwoman appears and drags the girl to the edge of the building. The Penguin, out of sight, releases several bats that fly frantically around the girl's head, causing her to lose her balance and fall, but giving the impression that Batman, visible to the crowd below, had pushed her. She lands on the tree switch, lighting it up and unleashing a flurry of bats that the Penguin had hidden within the branches. Batman attempts to flee in his famous Batmobile, but the Penguin had placed a control device under the car that let he himself steer it from an arcade-style car hidden in a trailer. Batman, helpless, is trapped behind the wheel of the Batmobile as it veers through the streets, knocking over city property and frightening citizens. Batman manages to remove the control device before anyone is killed, and returns home.
Though satisfied with the sullying of Batman's reputation, Catwoman becomes an enemy of the Penguin's by refusing his sexual advances. He hooks her on one of his many trick umbrellas, which becomes a propeller that hoists her above the city and drops her through a greenhouse roof. She survives death yet again, as she acquired nine lives upon her transformation.
The next day, the penguin holds a press conference, deriding the mayor for not providing sufficient protection against the allegedly dangerous Batman. Bruce Wayne and Alfred, however, manage to undo the Penguin's sterling reputation by playing through loudspeakers a recording of a recent anti-Gotham rant that the Penguin had delivered to Batman. The crowd turns on the Penguin and he escapes to the sewers once more. Furious, the Penguin denounces any ties to humanity and reveals to his gang his true reason for visiting the Hall of Records: to collect the names of all the wealthy first-born sons in the city, which the gang will then kidnap and murder while their parents are away at Max Shreck's elaborate Christmas party. The Penguin sees this as revenge against his own parents for discarding their own first-born son in such a callous way. His main target is Shreck's grown son, Chip.
Bruce and Selina attend the Christmas party, and soon realize their respective identities. Before they can leave, the Penguin appears and announces to all in attendance that their children are being kidnapped as he speaks, and chastises them for leaving their children unguarded so their parents could "dress up like jerks, get juiced, and dance badly." He attempts to kidnap Chip Shreck, but Max offers himself in his son's place. Realizing that his real beef is with Max, the Penguin agrees and the two return to the underground lair.
Batman springs into action, attempting to stop the Penguin's plan. The Penguin resorts to his back-up idea of equipping his army of penguins with missiles and mind-control devices, and sending them into the streets to "punish all of Gotham's children."
Batman manages to direct the suicide-bomber penguins back to the zoo lair to destroy the Penguin rather than the city. Batman confronts the irate Penguin, who attempts to attack him with a sword-umbrella, but falls into the toxic water below his lair.
Shreck attempts to escape the lair but is intercepted by Catwoman, bent on revenge to her abusive former boss. Batman attempts to convince her to let Max live to be sent to prison, but after Max shoots her several times, taking away most of her remaining lives, she electrocutes him with a live powerline and a taser. An electrical explosion occurs, during which Catwoman disappears.
The Penguin emerges from the water, fatally hurt from the toxins he ingested while submerged. Before he can pick up his deadly umbrella and kill Batman, he collapses and dies. Six penguins drag the body into the water, creating a grisly funeral scene.
Some time later, Bruce is being driven home in his limo by Alfred. He sees a shadow play across an alley wall. After leaving the car to investigate, Bruce finds only a small gray cat. Returning to the car with the cat, both Butler and Master wish each other a Merry Christmas. The bat-signal appears overhead, and Catwoman appears, proof that Selina still has one remaining life.