Last time on Gotham, Jonathan Crane (Charlie Tahan) went on a rampage in the asylum, literally spraying fear into people. Jim Gordon (Ben McKenzie) was on his own as even Bullock (Donal Logue) stayed behind. Jim did overcome his fear. Barbara (Erin Richards) revealed her non-death to Tabitha and Selina (Jessica Lucas, Camren Bicondova), and a plan to profit off of Penguin’s (Robin Lord Taylor) new game, the game of issuing crime licenses. Bruce (David Mazouz) was arrested and almost shot, to Alfred’s (Sean Pertwee) dismay. Lucius Fox (Chris Chalk) made him a batsuit. Ivy (Maggie Geha) drank poison after being rebuffed by Barbara.

Last week on Gotham, Penguin’s (Robin Lord Taylor) new business giving out crime licenses was flourishing and even the GCPD is on board – except for Jim Gordon (Ben McKenzie). Penguin wanted to unionize crime. Bruce Wayne (David Mazouz) also did not like it, having run across it during a vigilante run. Tabitha (Jessica Lucas) started training Selina (Camren Bicondova). An unlicensed gang took Jonathan Crane (Charlie Tahan), and forced him to make more fear juice. Gordon used Penguin to flush out the gang and make Penguin look cowardly.

Last season on Gotham was just bananas, as we lost 2 (sort of 3 then 4 then 3 again) major characters. Bruce ran Alfred (David Mazouz, Sean Pertwee) through with a sword, but Raâ€™s al Ghul (Alexander Siddig) told him to use the Lazarus Pit to restore him. Bruce vowed to never join him. Jim (Ben McKenzie) accidentally killed Fish Mooney (Jada Pinkett-Smith) and she and Penguin (Robin Lord Taylor) had a touching moment before she died in his arms. Penguin got the drop on Nygma (Cory Michael Smith) and froze him into an ice sculpture. Barbara killed Butch (Erin Richards, Drew Powell) and then Tabitha (Jessica Lucas) killed Barbara. Lee left Jim (Morena Baccharin) after he wouldn’t run away with her and he injected her with the cure for the Tetch virus. A masked Bruce Wayne stopped a robbery in progress.

Last week on Gotham, the shaman (Raymond J Barry) killed the entire Court of Owls. Ed, Tabitha, Butch and Barbara (Cory Michael Smith, Jessica Lucas, Drew Powell, Erin Richards) captured Penguin (Robin Lord Taylor), but Fish Mooney (Jada Pinkett-Smith) came and stole him away. Lee buried Jim (Morena Baccharin, Ben McKenzie) alive and his only way out was to take the Tetch virus. He He didn’t want to, but does to try and save the city from the bomb. They are too late. Alfred (Sean Pertwee) tried to talk Bruce (David Mazouz) down from pushing the virus button, but the shaman did it and Alfred killed him. The bomb went off.

Last week on Gotham, Penguin and Nygma (Robin Lord Taylor, Cory Michael Smith) called a truce to help each other escape. Killing each other could wait. Selina (Camren Bicondova) tried to kill Bruce 2 (David Mazouz), but he knocked her out right after she told Alfred (Sean Pertwee) the truth. Then Bruce 2 knocked him out. Lee (Morena Baccharin) blamed herself for Mario’s death after a nightmare and a visit to the Mad Hatter (Benedict Samuel). She stole the virus and then injected herself. The real Bruce put away his bad memories and felt nothing. Barnes (Michael Chiklis) almost killed Jim (Ben McKenzie), but he was saved by the GCPD. Jim and Bullock (Donal Logue) questioned Kathryn (Leslie Hendrix) who gave away nothing, even after Alfred put a knife through her hand. She ordered Barnes to save her so he cut off her head in response.

Last week on Gotham, Kathryn (Leslie Hendrix) stole Barnes (Michael Chiklis) out of Arkham for his virus blood. She charged Dr. Strange (BD Wong) with creating a version that was transmutable through the air. Jim (Ben McKenzie) was in good with the Court of Owls, tested when Kathryn wanted to infect a roomful of people. He failed the test when he got Penguin (Robin Lord Taylor) to help rescue them. Ivy found Selina (Maggie Geha, Camren Bicondova) in the hospital and cured her with her special plants. Selina ran to kill Bruce 2 (David Mazouz). Kathryn set Barnes after Jim. The Court kidnapped Penguin and put him in a cage next to Nygma (Cory Michael Smith).

Last week on Gotham, Penguin and Ivy (Robin Lord Taylor, Maggie Geha) recruited some freaks. Bruce 2 (David Mazouz) confessed to Selina (Camren Bicondova) who he really was. She threatened to go to Alfred (Sean Pertwee), so he pushed her out a window. Kathryn (Leslie Hendrix) told Jim (Ben McKenzie) to deliver Nygma (Cory Michael Smith), who threatened to out the Court of Owls. He delivered. Jim was inducted into the Court of Owls.

Last week on Gotham, the Court of Owls voted to “cleanse” Gotham. Uncle Frank (James Remar) warned Jim (Ben McKenzie) before killing himself to push Jim forward in the Court’s eyes. He met with them. He also asked Barbara (Erin Richards) for help about the shipment on Dock 9C. A ninja sliced her men to protect it. Penguin (Robin Lord Taylor) acted like a jerk to Ivy (Maggie Geha), who saved him despite that, when he put his trust in the wrong person. She suggested he form a team of “freaks” like them. The shaman opened Bruce’s (David Mazouz) mind and brought him back to the day his parents were killed. He told him he was important to Gotham.

Last week on Gotham, Nygma (Cory Michael Smith) searched for a new Penguin (Robin Lord Taylor), and killed as each genius failed. He took drugs to see a Penguin hallucination. Finally realizing he needed a nemesis, he sent a message to the GCPD to smoke out Jim Gordon (Ben McKenzie), and got Lucius Fox (Chris Chalk) instead. He held Harvey (Donal Logue) hostage, but Fox saved him. Uncle Frank (James Remar) tried to convince Jim to join the Court of Owls to take it down from the inside. The Court replaced Bruce Wayne (David Mazouz) with his doppelgÃ¤nger. Poison Ivy (Maggie Geha) saved Penguin from the river, who vowed revenge.

Last time on Gotham, Jerome Valeska (Cameron Monoghan) encouraged mayhem in the city as the lights went out and the crazies followed. He went after Bruce (David Mazouz), taking him to a bloody carnival. Bruce managed to get in a bunch of punches, and then Jim (Ben McKenzie) punched his face off, literally. Bruce vowed, “I will not kill,” because he’s Batman. Jim’s Uncle Frank (James Remar) was in the Court of Owls, who were training the doppelgÃ¤nger. After toying with his love the entire episode, Nygma (Cory Michael Smith) shot Penguin (Robin Lord Taylor) and pushed him into the harbor.