An extended pre-credits sequence in one episode of Amazon’s Good Omens displays the best part of the six-episode miniseries based on the book of the same name by Terry Pratchett and Neil Gaiman. The segment traces the 6,000-year relationship between prissy angel Aziraphale (Michael Sheen of The Queen and Frost/Nixon) and swaggering demon Crowley (Doctor Who star David Tennant), who have known each other since the Garden of Eden was a going concern. The sequence is an entertaining romp through myth and history, with the two popping up as knights in Arthurian England, as part of a goofy spy drama during the Blitz, and going out for crepes during the Reign of Terror. Even though they technically stand on opposing sides of a cosmic conflict for the souls of mankind, they form a deep mutual respect driven by witty banter, and their odd-couple chemistry forms the heart and soul of the series.

That sequence also exposes Good Omens’ greatest weakness. The scenes are joyous when Crowley and Aziraphale are sparring, commiserating, or teaming up to stop the apocalypse their bosses have been waiting for since the dawn of humanity. Scenes with just one of them still tend to be strong, particularly as Crowley gleefully outsmarts everyone around him. But when neither of them are on-screen, Good Omens grinds to a halt. The supporting cast members are necessary to move the plot forward or provide needed exposition about the series’ complicated mythology. But no one else has enough development or agency to make their scenes feel worthwhile unless they’re playing off one of the protagonists.

That flaw comes from the source material, which Gaiman has adapted extremely faithfully. (Pratchett died in 2015.) Much of the dialogue is directly quoted from their book, which combines Gaiman’s love of elaborate worldbuilding and cosmic conflict with Pratchett’s quirky characters and absurdist comedy. While the 1990 novel has been updated a bit for the times — apparently one of Crowley’s diabolical acts was inventing the selfie — it otherwise stays true to the tangled plot, where the final conflict between good and evil will kick off shortly after the antichrist’s 11th birthday. In a spoof of The Omen, the son of Satan was meant to be raised with power and privilege by an American diplomat. But due to a comedy of errors at a hospital run by Satanic nuns, Adam Young (Sam Taylor Buck) has instead been sent to live in the British village of Lower Tadfield, where he’s grown into a leader of a crew of kids that’s basically a less-charming version of the gang from Stranger Things.

Both heaven and hell want the rematch the Apocalypse will bring about, but Crowley and Aziraphale have grown accustomed to the comforts of Earth. They’ve largely been shirking their duties, discovering that humanity is more than capable of doing good and evil without their intervention. They also much prefer to spend time with each other rather than with members of their respective hosts. The rulers of hell are grotesque, petty, and humorless, unable to grasp Crowley’s achievements, because they don’t understand modern technology. None of them have enough character to justify the production budget that was used to cover them with sores, flies, or scales.

The angels, meanwhile, are aloof and filled with the same benign ineptitude the bureaucracy of heaven shows in The Good Place. They’re beautifully embodied by Gabriel (Mad Men’s Jon Hamm) who was barely mentioned in the book, but here serves as Aziraphale’s supervisor, filled with good cheer even as he expresses contempt for humans and support for the final war. He’s by far the best supporting character and evidence of a stronger, more dynamic story that might have been made if Gaiman had been willing to expand the story further.

The rest of the cast is just trying to do their best with the thin material they’re offered. Anathema Device (Adria Arjona), a witch whose family has been preparing for the Apocalypse for generations, could be the protagonist of an entirely different story, but is really just here to provide information to more important characters, and to be part of one of two terrible romance plots that have competent, clever women falling for hapless men for no discernible reason. Michael McKean brings the same goofy humor he showed in Clue and This Is Spinal Tap to the nipple-obsessed witch-hunter Shadwell, but he’s playing a one-note character who can’t stand up to Aziraphale and Crowley’s comedic depths.

The film’s antagonists feel similarly flat. War (Mireille Enos of The Killing) and Famine (The Originals’ Yusuf Gatewood) both get thrilling introductions showing how the Horsemen of the Apocalypse can cause misery in the modern day. Similar development would have been a huge boon to Pollution (Lourdes Faberes), who is mostly distinguished by looking a lot like the Captain Planet villain Dr. Blight, and Death (Brian Cox of Succession and X2) who seems to have just walked off a production of A Christmas Carol. But it doesn’t really matter, because the Horsemen’s entire plot ends in a dull climax that’s meant to be a big moment for Adam’s friends, but doesn’t feel earned.

That’s a shame, because Good Omens has some strong themes, even if they’re minimally developed. Adam nearly destroys the world, not because he’s inherently evil, but because like so many young people today, he sees the mess previous generations have made of things and is willing to tear everything down to build a better world. Anathema’s plot explores the choice between getting support by following your family’s wishes and the challenging freedom of forging your own path. But as is the case in the rest of the show, only Aziraphale and Crowley get real development as they navigate unsatisfying jobs, the absurdity of God’s ineffable plan, and the problems caused by moral absolutism.

Fortunately, the series’ quirky cheerfulness lends it strength even at the plot’s lowest points. Visually, it looks like a version of Dogma as remade by Monty Python. Sherlock and Doctor Who director Douglas MacKinnon uses puppets, over-the-top makeup and costumes, pyrotechnics, and a card-trick demonstration (narrated by Oscar-winner Frances McDormand, as the voice of God) to provide near-constant spectacle. Fellow Sherlock veteran David Arnold has done a fantastic job with the show’s jaunty theme, which is sampled in various forms throughout the series. Meanwhile, Crowley is perpetually followed by a soundtrack of on-the-nose Queen songs like “Bohemian Rhapsody,” which blares from the Bentley he drives to the final showdown.

Good Omens is, at its heart, a cosmic gay rom-com, with bad-boy Crowley tempting Aziraphale to get out of his comfort zone and enjoy life, while Aziraphale simultaneously lures him into being a better, less selfish person. The duo haltingly come together, fall apart under the strain of the events around them and their conflicting moralities, and inevitably come together again to save the day and each other. The rifts in their relationship are felt far more keenly than any instance of demonic mass murder. Their story is so bright and captivating that it’s well worth watching, even if it makes the rest of the show pale by comparison.