This article contains spoilers for the Gotham season 4 finale, 'No Man's Land'.
As season finales go… this one was a bit crazy. But then again, when you have a series with this many characters, you kind of have to check in with all of them before you wrap things up. And since the writers didn't know if there would be a fifth season, that made it even more important.
The title of the episode told comic-reading viewers how it was going to end. No Man's Land was a big comic event where Gotham ended up separated from the rest of the world and turned into a free-for-all hellscape with different criminals carving up turf and the good guys struggling to make any kind of difference. Executive producer Bruno Heller has talked about their plans for basically changing everything up going into the new season, and this definitely did just that.
A new mayor is put in charged, and he cancels the evacuations since Jeremiah (Cameron Monaghan) was caught and the bombs stopped. The Mayor also calls in the National Guard and declares martial law, putting a general in charge over Jim Gordon (Ben McKenzie). Jeremiah claims to have more bombs and demands to see Bruce Wayne (David Mazouz), and then we see Ra's al Ghul (Alexander Siddig) standing outside the Mayor's office just before the building blows up.
We move over to find Dr. Hugo Strange (BD Wong) working to cure Butch/Grundy (Drew Powell) while Penguin (Robin Lord Taylor) and Tabitha (Jessica Lucas) watch. She gets a call about Selina (Camren Bicondova) being shot and heads out to kill Jeremiah. Bruce is taken to see Jeremiah against Jim's wishes. Jim is arrested and sent to outside of the city, but he is taken by Nygma (Cory Michael Smith). Ra's visits Barbara (Erin Richards) and says he only has part of the Demon's Head power and asks her to go away with him that night. Now all the players are in place.
With Jim gone, Ra's goes into the police station and takes Jeremiah, Bruce and all the bombs. Alfred (Sean Pertwee) goes to Barbara to find out where Ra's is to get Bruce back. They join together with Tabitha and Penguin to go kill Ra's and Jeremiah. Nygma tries to torture/kill Jim in a very Batman '66 way until Lee (Morena Baccarin) comes and stops him. She tells him she's leaving Gotham and he can go with her, but only if he doesn't kill Jim. He lets Jim go, who has a private moment with Lee where she admits she'll always have feelings for him.
The fight with Ra's goes well for the "good guys" as Barbara has the dagger reforged and puts it in Bruce's hands and runs it into Ra's. Penguin shoots Jeremiah to save Tabitha. It looks like things will be good — until the bombs go off and destroy the bridges and any hope of getting out of the city, making Gotham a dark island (as Ra's predicted).
From there, all hell breaks loose. Selina makes it through surgery but may never walk again. Bruce sends Alfred with her out of the city while he decides to stay and hunt Jeremiah. Strange cured Butch only to have Penguin kill him in front of Tabitha to get revenge on her killing his mother. Yes, he was still holding that grudge. He shoots her in the leg and says she has to live with watching the man she loved die.
Lee tells Nygma it's over and she has to stay to help the people of the Narrows. He prepares to stab her, but she stabs him first — only to have him pull out the blade and stab her with it. They kiss before dropping to their knees. They later end up at Strange's place, sent by Penguin with an order to fix them. We then see folks like Penguin, Mr. Freeze (Nathan Darrow), Firefly (Michelle Vientimilla), Scarecrow (David W. Thompson), and others laying claim to portions of Gotham. Tabitha ends up back at Sirens and Barbara declares that all the trouble in the city is because of men. She kills all the men around her — even the League guys who had just pledged loyalty after seeing her kill Ra's — and declares the area "no men allowed".
At the GCPD, we find that Jim is staying; with him are Lucius (Chris Chalk), Harvey (Donal Logue), and a few others. Lucius reconverted one of Jeremiah's generator bombs back to being a generator to give electricity to the precinct, and Jim has him put a search light on the roof. Bruce sees the "Batsignal" prototype and the two meet on the roof. Bruce reminds Jim of what he said about there being light even in the darkness the night of his parents' murder. The two stand together looking out over Gotham, a city they'll have to fight to get back.
Most of the storylines in this episode set up a new season, but had this been the last episode of the series, that final scene could have worked as a goodbye. Mazouz has grown up over these four years and stands next to McKenzie as an equal. Bruce has made his decision to become the Dark Knight that Ra's predicted he would. Gordon is now that beacon of light and justice to help the city, and together, the dark and the light will fight to get Gotham back.
And for Penguin to get revenge for his mother so many episodes later, when most everyone had forgotten that it was Tabitha who killed her… that was brilliant and twisted. To think of all that he went through to set up that revenge brings him back to being the brilliant manipulator that we first met in season 1.
This would've been a strong ending to go out on… but they don't have to. They'll have 13 more episodes to put Bruce in the costume and the silhouette of a bat on that searchlight.