NOTE: This spoiler was submitted by Jeremy

It is Halloween in Gotham City. A man (Paul Dano) spies on the apartment of Mayor Don Mitchell Jr (Rupert Penry-Jones). The Mayor watches a debate between himself and his opponent, Bella Reál (Jayme Lawson), who wants to stop the Gotham Renewal program that Mitchell benefits from. The masked man, known as The Riddler, sneaks up on Mitchell and bludgeons him with a hammer until dead. He then starts to wrap duct tape around Mitchell’s head.

Billionaire Bruce Wayne (Robert Pattinson) narrates over how he has spent the last two years as Batman seeking out criminals in Gotham. Working with the police department, he has gotten the Bat Signal as a means to warn crooks that Batman is coming for them. Bruce stalks a gang of thugs with clown makeup as they follow a man off the subway and harass him. Before they can beat him up, Bruce steps out as Batman and begins to pummel the thugs as he declares “I’m vengeance”.

Batman joins Lieutenant James Gordon (Jeffrey Wright) at Mitchell’s apartment to investigate his murder. The Riddler left a card addressed “for the Batman”, along with a card containing a riddle and a cipher – “What does a liar do when he’s dead?” Commissioner Pete Savage (Alex Ferns) comes in to chew Gordon out for allowing Batman to be involved in the investigation, even though Riddler intended for Batman to be there. He determines that the answer to the riddle is “He lies still.”

Bruce returns to the Batcave and gets help from his butler Alfred Pennyworth (Andy Serkis) in finding a code within the cipher that leads them to find the word “DRIVE”. Batman goes with Gordon into Mitchell’s garage to find a car that had been broken into and contains a flash drive, along with Mitchell’s severed thumb. Together, they find incriminating photos of Mitchell with a woman named Annika (Hana Hrzic) outside a club called the Iceberg Lounge.

Batman goes to the Iceberg Lounge to speak to mobster Oswald Cobblepot/The Penguin (Colin Farrell). After being denied entry by the thugs at the door, Batman fights his way through a slew of goons before meeting Penguin directly. He questions Penguin about Mitchell and Annika, but he claims to not know anything. Batman notes a young woman, Selina Kyle (Zoe Kravitz), working at the club and obtaining a drug called “Drop” to sell.

Bruce keeps an eye on Selina as she returns to her apartment that shares with Annika. They watch news showing her in pics with Mitchell since they got leaked after Batman and Gordon opened the files. After Annika goes to bed, Selina sneaks out as Catwoman and goes to Mitchell’s apartment, which is now a closed-off crime scene. Batman finds Selina trying to grab whatever info she can find on Annika. They go back to her apartment and find it ransacked with Annika missing. Furthermore, they see news saying that Riddler has killed Savage, along with a viral video sent by Riddler, saying that Mitchell and Savage were not good men as everyone had been led to believe. He has Savage hooked to a device where two rats will gnaw at him to death.

Batman and Gordon look into Savage’s death. They find more incriminating photos, this time showing Savage working with a Drop dealer. They find another message for Batman, along with another riddle and cipher, reading “el rata alada” (the winged rat). The Riddler suggests that there is a “rat” among the group of people he is targeting.

Batman gets Selina to go into The 44 Below, the deeper, more exclusive club within Iceberg Lounge. He gives her camera contact lenses to use so that he can see what she sees inside the place. They find several city officials are guests with criminal ties, including District Attorney Gil Colson (Peter Sarsgaard). He talks about a rat within the department that is being protected, while another woman there mentions Annika. Selina follows her but doesn’t learn anything more. She ends up running into Penguin, as well as crime boss Carmine Falcone (John Turturro), who already knows Selina from previous encounters. Selina takes off the contact lenses after telling Batman she cannot continue and then takes a cab. Colson goes back to his car and is attacked by Riddler, who places a device around his neck.

Bruce attends Mitchell’s funeral, where he runs into Penguin and Falcone. The latter recognizes Bruce and notes that his father Thomas (Luke Roberts) saved his life after Falcone had been shot. During the service, Colson’s car crashes into the church. He emerges with a bomb around his neck, a phone taped to his hand, and another message for Batman. He comes in and answers Riddler’s call. Riddler begins to set off the bomb and give Colson riddles to solve to save his life. Batman helps with the riddles, but when Riddler tells Colson to name the rat in the case against mobster Sal Maroni, he chooses to die alone because giving up the rat would cost his family’s life. Colson blows up, and Batman is knocked back unconscious by the explosion.

Batman wakes up in the police station and fights several officers. Gordon cools him down and talks to him privately. Batman notes to Gordon that one of the cops in the station, Kenzie (Peter McDonald), was seen at 44 Below. Gordon helps Batman with a distraction by having him punch Gordon in the face before Batman uses his flight suit to escape. He deploys his parachute just before going under a bridge, resulting in him crash-landing.

Batman and Gordon believe Penguin is the rat, so they tail him to a drug deal. Batman catches Catwoman on her own mission, where she ends up discovering Annika’s body in the trunk of a car. When she tries to go for Penguin’s money, it leads to a shootout between his men against Batman and Gordon. Batman hops in the Batmobile and chases after Penguin through the streets. Penguin causes a major accident to shake Batman off, but the Caped Crusader comes bursting out of the flames and causes Penguin to crash his car. Batman and Gordon interrogate him, but Penguin insists he is not the rat. The two leave him handcuffed before driving off.

Batman receives a message from Riddler, leading him and Gordon to the abandoned orphanage for their next clues to Riddler’s latest target. They find Drop addicts, as well as a projector that shows campaign footage of Thomas Wayne’s run for mayor. They realize that Bruce is the target. He races back home trying to contact Alfred, but their housekeeper Dory (Sandra Dickinson) informs Bruce that Alfred has been injured after another message for Batman exploded and sent Alfred to the hospital.

Batman meets with Selina and asks her about her connection to Falcone. She admits that she is his biological daughter. Her mother Maria worked at the same club and was murdered, and Falcone never assumed custody of her, so she wants to steal from him and get what he owes her. Batman and Selina also share a romantic moment and kiss.

A viral video from Riddler makes waves, as it reveals that there is a dark history between the Wayne and Arkham families. A reporter had been trying to do an expose on Martha Wayne (Stella Stocker) over her years in and out of asylums while seeking psychiatric help. Allegedly, Thomas had spoken to Falcone about handling the reporter, and Falcone killed the man, leading everyone to believe that Thomas put a hit out on the man.

Bruce goes to the club as himself to speak to Falcone and get answers straight. Falcone acknowledges the news about the reporter, but he merely tells Bruce that his father had asked him to take care of the reporter, but things escalated. He also suggests to Bruce that is was Maroni who had his parents killed.

Bruce visits Alfred in the hospital and confronts him over what his father did. Alfred insists that Thomas really was a good man and that he was appalled by what happened to the reporter. Alfred also suggests that Falcone was the one who put a hit on the Waynes because Thomas had felt guilty about the murder that he was going to confess to the police. Just as Bruce appears to forgive Alfred, they see the Bat Signal shining.

Batman and Gordon find Selina having apprehended Kenzie, wanting to kill him as payback for Annika. Batman talks her down from shooting him, just as he and Gordon figure that Falcone was the rat. Kenzie admits that almost everyone in the Renewal program, including Riddler’s victims, work for Falcone, as he has many people under his thumb. They play a recording from the scene of Annika’s murder, where she is heard talking to Falcone about his involvement in the Maroni case, just before he killed her. Selina kicks Kenzie over the ledge, but Batman and Gordon catch him, letting her get away.

Selina goes to the Iceberg Lounge to kill Falcone herself. Batman and Gordon head there as well and make an attempt to arrest him. Selina makes her attempt, but Falcone overpowers her and attempts to kill her himself, until Batman steps in and punches Falcone in the face. He once against talks Selina down from killing. Gordon takes Falcone in to be arrested, but the mobster takes a moment to insult Penguin. He pulls out a gun, but someone else fires a shot and kills Falcone. Batman looks up to find Riddler in his apartment window. The cops run up to the apartment but find it empty. They then receive a tip from someone having seen Riddler go down the fire escape and sit in a diner. The cops find and arrest him there without much of a fuss.

Authorities learn that Riddler’s real name is Edward Nashton and that he is an accountant. He is locked up at Arkham Asylum. Batman goes to speak to Riddler, who talks about how he envied Bruce Wayne for the attention he received, since Nashton was also an orphan who endured a less privileged childhood than Bruce did. He believes Batman is on his side, but Batman tells him otherwise. Riddler alludes to one last plan he had that Batman failed to find out about.

Batman goes back to Riddler’s apartment and works with another cop to find the password to an encrypted video. It features Riddler addressing his followers and talking about his big plan to destroy the seawalls around Gotham Harbor and flood the city on Election Night, where Reál will be elected mayor. He had also invited his many followers to join in the crime. Soon, explosions are heard, and the city quickly begins to fill with water. Authorities make attempts to gather people to higher ground since evacuation is impossible. Crowds gather at Gotham Square Garden, but Riddler’s followers show up armed, and one of them shoots Reál in the arm, but Gordon manages to protect her. Batman comes in and fights the thugs, while Selina shows up and helps. The water hits the building and begins to flood the place. Batman grabs a flare and begins leading people to safety.

In the aftermath, most of the city is underwater, and criminals like Penguin will engage in a power struggle. Batman is viewed as a hero for his rescue efforts, and he makes a personal vow to be better and less driven by vengeance. Riddler weeps as he sees the news over how his plan turned out, but his cellmate (Barry Keoghan) tells him to cheer up and offers to be his friend, knowing they can put their talents to good use. The inmate then starts to let out a familiar maniacal laugh…

Batman meets with Selina, who is planning to drive upstate and leave Gotham since she deems it beyond saving. The two-part ways and ride their motorcycles away, though Batman looks back at her one more time before returning home.

Brought to you by

Bruce Wayne has spent two years as Batman, acting mostly as a vigilante set on eliminating the worst of Gotham City's criminals. A serial killer called The Riddler targets several noted officials, including Mayor Don Mitchell Jr, Commissioner Pete Savage, and District Attorney Gil Colson. Batman works with Lt. Jim Gordon to find the connection between the victims and their ties to criminals Oswald Cobblepot/The Penguin and Carmine Falcone. Batman works with Selina Kyle/Catwoman, a cat burglar who works at Penguin's nightclub and has her friend Annika missing after being seen with Mayor Mitchell.

Bruce learns that he is a target himself after Alfred is injured in an attack. Riddler reveals that Bruce's mother Martha was being hounded by a journalist trying to expose her history of mental illness, and Thomas had spoken to Falcone about handling it, but Falcone killed the man, and Thomas was believed to have put out a hit on the man, leading to Bruce's trust in his father being broken, but Alfred reassures Bruce that his father truly was a good man.

After learning that Falcone was an informant in the case against mobster Sal Maroni, Batman and Gordon manage to have Falcone arrested, but he is killed by Riddler. He allows himself to be caught in a diner, and Batman learns too late that Riddler's final plan involved flooding Gotham City by destroying the walls that surround Gotham Harbor. Batman and Selina fight off Riddler supporters and lead people to safety.

Batman begins to be viewed as a hero, while Selina thinks Gotham is beyond saving and leaves. Meanwhile, Riddler becomes friends with his cellmate, a certain familiar clown prince of crime...