“Carnival Row” arrived on Prime Video in August 2019 with a pitch that sounded like a sure thing: Orlando Bloom as a detective in a rain-soaked city of humans and fairies, hunting a killer who was targeting the fairy population. Created by Travis Beacham and René Echevarria, the series was built on Beacham’s unproduced film script, “A Killing on Carnival Row.” Prime Video released all of season one at once on August 30, 2019. Amazon renewed it in July 2019, before the first season aired.
That confidence was not repaid. The show ran two seasons and 18 episodes. It ended in March 2023, and it never became the franchise its makers may have hoped for.
Trailer, via Prime Video.
A Murder in a City of Refugees
The premise is the strongest thing “Carnival Row” has. Mythical creatures have fled a war-torn homeland and gathered in the city as tensions simmer between citizens and the growing immigrant population. Fairies, fauns and other beings live as oppressed refugees in human society. A detective works to solve murders connected with them.
That detective is Rycroft “Philo” Philostrate, played by Bloom. He is a police detective on the case, and then he becomes the prime suspect. To clear his name he has to find the real killer himself. It is a clean engine for a season: a cop, a body, a frame, a hunt.
Cara Delevingne plays Vignette Stonemoss, a fairy and Philo’s unresolved love. The show wants that relationship to carry weight, and Delevingne and Bloom have scenes that suggest something is there. The writing rarely gives them room to find it. Vignette is a refugee, a fighter and a romantic lead at once, and the series keeps choosing whichever role the plot needs next.
Philo, Vignette and the Frame
The supporting cast is deep on paper. Simon McBurney plays Runyan Millworthy. Tamzin Merchant plays Imogen Spurnrose. David Gyasi plays Agreus Astrayon, a faun and one half of the show’s most interesting pairing. Andrew Gower is Ezra Spurnrose. Karla Crome is Tourmaline Larou. Arty Froushan is Jonah Breakspear. Jay Ali is Kaine.
The Spurnrose and Astrayon thread is the one that earns its screen time. Imogen, a human of declining means, and Agreus, a faun of new money, are a study in social climbing and social punishment. The show is at its best when it lets that pair sit in a drawing room and be awful to each other politely.
Elsewhere the cast is underused. McBurney is a fine actor given a part that mostly requires him to look concerned. Crome’s Tourmaline drifts through the season without a story of her own until late. The show keeps introducing figures it does not have time to finish.
A World Built on Borrowed Parts
The city of Carnival Row is the series’ second-best asset. It is a dark, wet, gaslit place, and the production design commits to it. The fairy district, the docks, the mansions across the river: the geography reads clearly, and the class divide is drawn in stone and mud rather than explained.
The politics are where it gets shaky. “Carnival Row” wants to talk about refugees, prejudice and the madness of power. It says so directly, and it says it often. The problem is not the subject. The problem is that the show treats the metaphor as the argument. Fairies are oppressed; therefore the villains are bigots; therefore the heroes are the ones who are nice to fairies. That is a position, but it is not a plot.
The murder mystery in season one is serviceable and no more. It withholds, it reveals, it withholds again. By the time the answer arrives, the question has stopped mattering, because the show has spent its energy on the frame-up rather than the crime. Philo as suspect is a good hook. Philo as fugitive is a lot of running down the same alleys.
What Season Two Does With the Pieces
Season two premiered on February 17, 2023, and served as the series’ final season. It concludes on March 17, 2023. That is a long gap from 2019, and the show does not use it well.
The second season widens the scope. The refugee story becomes a political story, with Jonah Breakspear and Kaine pulled toward power. The Spurnrose-Astrayon thread continues, and remains the best material. The Philo-Vignette thread continues, and remains the most frustrating.
My reading is that the season was written and shot as a continuation, not as an ending. When the final episode arrives, it closes threads without resolving the show’s central question, which is whether these beings can ever be accepted. The answer it gives is vague enough to be a shrug.
That is the cost of a two-season show that behaved like a five-season one. “Carnival Row” kept setting tables it never sat down at. New factions, new conspiracies, new characters with names and grudges, all introduced with the assumption that there would be time. There was not.
The Cast and What They Get to Do
A short accounting, and this is judgment, not fact. The source lists nine cast members; it does not label all of them series regulars, and it says nothing about who carries an arc. What follows is what this paper made of the performances:
- David Gyasi as Agreus Astrayon — the most complete arc in the show, and the performer who gets to play wit, shame, desire and defiance in the same scene.
- Tamzin Merchant as Imogen Spurnrose — the show’s sharpest creation, a woman whose prejudice and hunger are the same muscle.
- Cara Delevingne as Vignette Stonemoss — capable of the part, underserved by it. The writing keeps her reacting.
- Orlando Bloom as Rycroft “Philo” Philostrate — a movie star doing quiet work in a role that wants him to be a movie star. He is better than the material.
- Simon McBurney as Runyan Millworthy — a great actor on a leash.
The rest of the ensemble — Andrew Gower, Karla Crome, Arty Froushan, Jay Ali — are asked to hold up subplots that the season does not have room to land.
What the Show Gets Right, and What It Cannot Fix
There is real craft here. The costumes, the makeup, the creature work: all of it is better than the scripts deserve. The fairy wings give the impression of expense. The city looks lived in. The show has a look, and the look holds.
The problems are structural. “Carnival Row” has two modes: a murder procedural and a social allegory. It never decides which one it is, so it does both badly. The procedural half runs out of suspects. The allegory half runs out of specifics. When the show wants to say something about power, it reaches for a speech. When it wants to say something about love, it reaches for a flashback.
The dialogue is the tell. Characters in “Carnival Row” explain their world to each other constantly. They explain the refugee crisis, the class system, the war, the politics of the city. Nobody in this place has a casual conversation. Everyone is briefing someone.
The Score and the Final Tally
The published critical score sits at 5.8 out of 10, with a Metacritic score of 58 out of 100. That number is fair. It is not a bad show. It is a show that keeps promising to become one.
What matters here, and what is noise: the murder plot is noise. The frame-up is noise. The world-building is the thing that matters, and the Spurnrose-Astrayon thread is the only part of it that pays off.
The show’s parallel strengths and failures are easy to line up:
- A refugee premise with real weight, undone by villains who are simply bigots.
- A cast of nine named performers, of whom this paper counts two as getting a complete arc.
- A production design that sells the city, in service of scripts that keep briefing the audience.
- A renewal in July 2019, before the first season aired, and a finale in March 2023 that still felt premature.
If you are going to watch “Carnival Row,” watch it for David Gyasi and Tamzin Merchant, and treat the rest as the price of admission. If you are going to skip it, skip it without guilt. The show had two seasons to make its case, and it made half of one.
Get the Notebook.
The day's best stories and every fresh verdict, in plain English, in your inbox by seven. One email a day, no more.

