15 greatest portrayals of serial killers from David Tennant as Dennis Nilsen to Charlize Theron as Aileen Wuornos
To mark Des coming to Netflix, these are the best and scariest performances of real-life killers
Des drops on Netflix this weekend, showcasing David Tennant’s terrifying portrayal of serial killer Dennis Nilsen.
Film and television have long capitalised on our morbid fascination with serial killers, with some of the world’s most talented actors tapped to bring them to life.
These are demanding performances, with stars forced to balance respect, authenticity, and dramatic licence – often all at the same time.
To mark the arrival of Des coming to Netflix, these are the best on-screen portrayals of real-life serial killers across decades of TV and movies (many of which are scarier than the best horror movies on Netflix).
15. Zac Efron as Ted Bundy

- Title: Extremely Wicked, Shockingly Evil and Vile
- Year: 2019
- Runtime: 1 hour 48 minutes
- Where to watch in the UK: Sky Cinema/NOW TV
Zac Efron is a cleverly deployed piece of stunt casting. That’s not to say he didn’t deserve the role, but enlisting a globally famous stud who rose to fame in musicals for kids to play a serial killer is an obvious wink.
On this occasion, he plays Ted Bundy, who murdered dozens of young women and girls in a four-year killing spree. Typically, he’d dupe his victims into believing he needed help, only to capture, assault, and kill them.
This film isn’t wholly great; you could argue it strives to gaslight the viewer, just as Bundy did, but doesn’t capture the scope or horror of his crimes.
However, Efron is innocent. He delivers a shrewdly pitched, charming performance that makes it especially effective when Bundy’s psychopathy rears its head in his eyes – like a faint outline of a shark in the abyss.
14. Evan Peters as Jeffrey Dahmer

- Title: Dahmer – Monster: The Jeffrey Dahmer Story
- Year: 2022
- Length: 1 season, 10 episodes
- Where to watch in the UK: Netflix
Jeffrey Dahmer has endured as one of the most compellingly monstrous serial killers in American history; fittingly, Netflix opted for the “Monster” moniker to tell his story.
Specifically, how he carried out the grievous murders of 17 men and boys in Milwaukee between 1978 and 1991, engaging in necrophilia and cannibalism until his arrest.
The series (which spawned seasons focused on Lyle and Erik Menendez and Ed Gein) is, for the most part, a salacious procession of Dahmer’s macabre crimes. Despite its success (its one of Netflix’s most-watched shows ever), it was accused of exploiting his victims and their terror; one of his victims’ relatives described the series as “harsh and careless”.
And yet, its Wikipedia-esque, grisly structure is the perfect vehicle for Evan Peters. It’s a dead-eyed, shuddering turn that’s hard to look away from. Intimidating, but cowardly; awkward, but forceful. As lurid as the show is, he’s the reason you’ll keep watching.
13. Paul Walter Hauser as Larry Hall

- Title: Black Bird
- Year: 2022
- Length: 1 season, 6 episodes
- Where to watch in the UK: Apple TV
Larry Hall isn’t the main focus of Black Bird: it’s James “Jimmy” Keene (played by Taron Egerton), who befriended Hall behind bars as part of a deal with the FBI after he was locked up on drug charges.
Hall was convicted for killing two young women, but he confessed to abducting, raping, torturing, and murdering dozens of other girls. He is currently serving a life sentence (without the possibility of parole).
Hauser’s performance as Hall could be ported over to Mindhunter – that’s high praise, considering that show’s reputably delicate, quiet aptitude for capturing the essence of its subjects.
He’s unsettling to watch, while imbuing someone unknowable with a distinctly pathetic aura. One character sums him up better than we could: “Creepy as all [bleep].”
12. Maxine Peake as Myra Hindley

- Title: See No Evil: The Moors Murders
- Year: 2006
- Length: 1 season, 2 episodes
- Where to watch in the UK: ITVX
The Moors murders are perhaps the most infamous series of killings in British history. In two years, Ian Brady and Myra Hindley murdered five people, including three children and two teenagers. You can find the sordid specifics of their victims’ fates online.
See No Evil is a two-part series that mainly orbits Brady and Hindley, unfolding from the perspective of her sister Maureen. It also only shows one of the murders, mercifully (and rightfully) forgoing the indulgence of other true crime dramas (*cough* Dahmer *cough*).
Sean Harris is frightening as Brady, but it’s Peake who leaves the biggest impression, strongly conveying Hindley’s seduced state of complacency and appalling indifference to the horrors she participated in.
Her final scene is particularly powerful: not at all sympathetic, but true to Hindley’s desperate pleas for redemption – something that would never be possible.
11. Richard Attenborough as John Christie

- Title: 10 Rillington Place
- Year: 1971
- Runtime: 1 hour 51 minutes
- Where to watch in the UK: Rent or buy on-demand
You may not be familiar with John Christie. He doesn’t occupy the same space in pop culture as Jeffrey Dahmer, Ed Gein, or John Wayne Gacy, even though he was a serial rapist and killer who murdered at least eight people.
The BBC made an excellent series about Christie’s crimes (special credit to Tim Roth’s brooding, shuffling performance), but 10 Rillington Place, with Attenborough as the killer, is the better (and more disturbing) take on the case.
If you struggle to see Attenborough as Christie, take comfort in the fact that even in the ’70s, everyone felt the same. It’s a transformation, not via garish makeup (though that plays a part): each word that gently, eloquently slips off his tongue, all of his body language, creates someone tangible and horrible.
10. Kathy Bates as Delphine LaLaurie

- Title: American Horror Story
- Year: 2013
- Length: 1 season (Season 3 of the series), 13 episodes
- Where to watch in the UK: Netflix
Coven is just shy of being the best American Horror Story season (that honour goes to Asylum), but it boasts one of the show’s greatest performances: Kathy Bates as Madame Delphine LaLaurie.
Though never convicted, LaLaurie is believed to have tortured and killed at least 20 slaves in her New Orleans household. In 1834, after her abuse became known to the public in the wake of a fire, an angry mob practically destroyed her home. By this point, she’d fled to Paris, where she died in exile.
As you’d expect, AHS is true to the brutality of LaLaurie, even if its history isn’t always accurate (she didn’t have any known ties to witchcraft).
Bates, adopting a slight Cajun inflection in her booming voice, finds remarkable nuance; trembling in fear and fury at the idea of a Black president, euphoric as she chows down on a burger, but always unequivocally evil.
Yet, unlike other serial killer portrayals that feel dirty to watch, Bates’ LaLaurie is thoroughly entertaining.
9. Daniel Henshall as John Bunting

- Title: Snowtown
- Year: 2011
- Runtime: 2 hours
- Where to watch in the UK: Rent or buy on-demand
Between 1992 and 1999, John Justin Bunting, Robert Joe Wagner, and James Spyridon Vlassakis killed 12 people in and around Adelaide, South Australia.
They were led by Bunting, who targeted people he believed to be paedophiles, homosexuals, drug addicts, or “weak”.
Snowtown, directed by Justin Kurzel, is a powerful, discomforting account of how it all happened; specifically, how corruptible a dominant, agreeable male presence can be to someone in need of a role model.
That’s down to Daniel Henshall’s extraordinary performance as John Bunting. He nails the sly, confident normalcy that obscures the rot in his perception of the world; alluring, until you’re too far gone to taste his poison.
8. Dominic West and Monica Dolan as Fred and Rose West

- Title: Appropriate Adult
- Year: 2011
- Length: 1 season, 2 episodes
- Where to watch in the UK: ITVX
At least 12 people were murdered by the notorious killer couple, including their teenage daughter Heather and Fred’s stepdaughter Charmaine. They also raped and tortured several of their victims.
That’s the briefest possible rundown of the Wests’ unimaginable crimes, and this ITV series smartly takes place after the fact, focusing on Janet Leach’s (played by Emily Watson) experiences as Fred’s appropriate adult after the couple’s arrests.
Dolan’s Rose doesn’t get as much screen time as her other half, but she deservedly won a BAFTA for her performance. She’s a huge, astonishing presence; embittered at the universe impeding her murderous freewill.
West gets more to do, and his portrayal is a patchwork of weird, sinister contradictions that make it clear why police wanted Fred to have an appropriate adult.
Don’t just take it from us. John Bennett, the detective superintendent who led the inquiry into the Wests’ crimes, said “the mannerisms and psyche of Frederick West captured and enacted by Dominic West and Monica Dolan of Rosemary West are hauntingly accurate”.
7. Brian Dennehy as John Wayne Gacy

- Title: To Catch a Killer
- Year: 1992
- Runtime: 3 hours 6 minutes
- Where to watch in the UK: Rent or buy on-demand
John Wayne Gacy raped, tortured, and murdered at least 33 young boys and men in just six years. He established a method early on: he’d lure people into his ranch house, get them to wear handcuffs as part of a magic trick, and then it’d be too late for them to escape.
He was also known as the Killer Clown, on account of his creepy part-time gig as a Pogo and Patches.
On paper, Gacy is as close to a horror movie’s slasher villain as real life can get. That’s one facet of Brian Dennehy’s menacing portrayal, displaying Gacy’s arrogance in his blatant, genial deceit of everyone around him, until paranoia overwhelmed his facade.
As Dennehy told The Cutting Room Movie Podcast, “He was normal… that’s how I played him, which is what really makes him scary. You’d never really notice him.”
6. Jeremy Renner as Jeffrey Dahmer

- Title: Dahmer
- Year: 2002
- Runtime: 1 hour 41 minutes
- Where to watch in the UK: Plex
Evan Peters’ performance in Netflix’s Monster will probably go down as the definitive portrayal of Jeffrey Dahmer. However, the best portrayal of the serial killer came over two decades ago from Jeremy Renner.
In this under-seen horror film directed by David Jacobson, Renner taps into the demented, tragic pathology of Dahmer more than any other actor.
It’s easy to describe him as inhuman, but Renner’s performance is a more unforgiving statement on Dahmer: he is human (albeit ghoulish and psychotic); he was just capable of extreme depravity. That is frightening.
5. John Carroll Lynch as the (alleged) Zodiac Killer

- Title: Zodiac
- Year: 2007
- Runtime: 2 hours 36 minutes
- Where to watch in the UK: Amazon Prime
The Zodiac Killer, confirmed to have murdered five people but claimed at least 30 more, has never been found. Next to Jack the Ripper, it’s the most notorious unsolved serial killer case in the world.
In over 55 years, authorities have only named one suspect: Arthur Leigh Allen. Police couldn’t match him to any DNA evidence, but even today, many people are convinced it was him.
David Fincher, who directed Zodiac, is clearly among the believers. However, here’s the genius of John Carroll Lynch’s chest-tightening performance: Fincher told him to play Allen as if he was innocent, establishing a calm demeanour that haunts the film whenever he’s not around.
If Allen was convicted as the Zodiac Killer, Lynch would be at the top of this list. “I’m not the Zodiac. And if I was, I certainly wouldn’t tell you.”
4. David Tennant as Dennis Nilsen

- Title: Des
- Year: 2020
- Length: 1 season, 3 episodes
- Where to watch in the UK: ITVX
Dennis Nilsen, a serial killer and necrophile, murdered at least 12 young men and boys in his London homes between 1978 and 1983.
Des, ITV’s chilling three-part drama, stars Tennant as Nilsen (who went by “Des” to those he was familiar with). It doesn’t show any of the murders, beginning with his arrest and unnerving confession.
Tennant is incredibly eerie, peeling back the layers of Nilsen’s narcissism in his blasé, bewildered interactions with the police. It’s a deeply unsympathetic portrayal (Tennant said he tried to play him as “boring”), befitting of a man who readily admitted to his crimes while failing to see how wretched they were.
After all, he went undetected for years; if everyone ignores you, would you see yourself as a monster, or an average Joe?
3. Cameron Britton as Ed Kemper

- Title: Mindhunter
- Year: 2017 – 2019
- Length: 2 seasons, 19 episodes
- Where to watch in the UK: Netflix
Mindhunter follows two agents with the FBI’s Behavioural Science Unit as they interview imprisoned serial killers, hoping to apply their learnings to ongoing cases. As such, it features multiple portrayals of real-life murderers, and they’re all good enough to deserve a place on this list.
Cameron Britton has a recurring role as Edmund Kemper, who killed 10 people including his grandparents, seven women, and a young girl.
He’s discomforting from his first frame; a towering, seemingly gentle giant who subverts the expectations that go with his crimes. Yet, his smooth cadence never wavers, even when he’s saying some of the most horrifying things you could ever hear.
If it wasn’t clear, Mindhunter is one of the best TV shows on Netflix.
2. Michael Rooker as Henry (Lee Lucas)

- Title: Henry: Portrait of a Serial Killer
- Year: 1986
- Runtime: 1 hour 23 minutes
- Where to watch in the UK: Arrow (via Amazon Prime)
Unlike other entries on this list, Michael Rooker doesn’t strictly play a real-life killer.
The film is inspired by the confessions of Henry Lee Lucas, a convicted murderer with three confirmed victims. He claimed to have killed over 600 people; much of what he’s said is believed to be false, but it’s also unclear exactly how many others he killed.
Upon its original release, the American age ratings board gave it an X, more commonly associated with pornographic films. In the UK, it took 17 years before the BBFC allowed it to be released uncut.
The title is a compliment to Rooker’s performance in itself: it’s a vivid, disturbing, and realistic portrait of a man who indiscriminately and craftily kills people for kicks. And, as the film’s tagline warned, “he’s not Freddy, he’s not Jason… he’s real.”
Amazingly, this was Rooker’s debut movie (he’s since had a storied career in The Walking Dead, Guardians of the Galaxy, and loads of other things).
1. Charlize Theron as Aileen Wuornos

- Title: Monster
- Year: 2003
- Runtime: 1 hour 49 minutes
- Where to watch in the UK: Rent or buy on-demand
Charlize Theron won an Oscar for playing Aileen Wuornos in Monster, a universally acclaimed role that catapulted her to further fame and even bigger roles.
Over 20 years on, she’s still unrecognisable in the movie, a credit to everything about her performance, whether it’s the makeup or her blindingly raw adoption of Wuornos’ nature.
In real life, Wuornos shot and killed seven men, claiming that they had raped or attempted to sexually assault her.
Monster, directed by Patty Jenkins (Wonder Woman), bravely tracks the degradation of Wuornos’ psyche. With Theron’s fractured performance, we can see how a woman’s disillusionment with men (and life, in general) paved the way for wanton acts of violence.
She doesn’t glamorise Wuornos, but she doesn’t demonise her, either. Theron summed it up in an earlier interview with Spliced Wire: “Everything she did physically was really just a mirror for what she was going through emotionally.”
Read more: The best movies on Netflix to watch right now