Warning: This episode contains spoilers for the Happy Valley finale.


After several thrilling twists and turns, Sally Wainwright’s third and final season of Happy Valley has finally come to a cathartic end, providing closure for the show’s beloved and long-suffering police officer Catherine Cawood (Sarah Lancashire).

Fans had been theorising over the show’s ending for weeks and while they were given a fitting send-off to the drama, it wasn’t the finale many were expecting as Catherine came face to face with Tommy Lee Royce, the man who raped her daughter and drove her to suicide.

The storyline involving Joanna Hepworth (Mollie Winnard), her abusive, controlling husband Rob (Mark Stanley) and their pharmacist neighbour Faisal (Amit Shah) was also wrapped up in the finale though, again, it didn’t quite unfold as fans were expecting.

Of course, many fans are clamouring for more, particularly after that one season 3 scene set up the post-credits life of Ryan (Rhys Connah) - but there most definitely isn't a Happy Valley season 4 on the cards.

More like this

So, you might as well saviour the fabulous season 3 ending, which Wainwright recently revealed she altered for the better after feedback from lead star Lancashire.

What happened to Tommy’s escape plan, did Catherine escape unscathed and how did the storyline surrounding Joanna’s neighbour Faisal unfold? Read on to find out.

What was the ending of Happy Valley season 3?

Like the previous two Happy Valley finales, we knew going into this episode that things would be tied up nicely, beginning in the first few moments with Matija (Jack Bandeira) and Ivan (Oliver Huntingdon) being arrested for false imprisonment, money laundering and assisting Tommy Lee Royce in escaping. Poor Ivan; he never did make it down the aisle after all.

The episode then gets going properly with Ryan looking pensive the morning after speaking to his fugitive father. Catherine picks him up to go to Halifax to be questioned by police, after having visited him in prison multiple times.

It's in the police station, though, that Ryan really turns a corner and it all kicks off after being complimented by Detective Superintendent Andy Shepherd (Vincent Franklin) who says there's "something about him" that made him think the teen was a new police recruit. It's enough to make Ryan crack a smile and go bounding up the stairs after his grandmother - but it's also something that may have had more of a profound impact, resulting in Ryan telling police about Tommy's use of the games console the night before.

At the same time, Tommy is being moved by Darius's brother Zeljko (Greg Kolpakchi), but he isn't happy about not knowing where he's going and if he'll see Darius. It's not part of the plan and angers him so much that he manages to kill Marco and Viktor all from the backseat of the car that Zeljko is driving.

Zeljko and Tommy have a very tense face-off which sees them drawing their knives like a duel, and for one moment, you think that Zeljko could actually kill Tommy. But of course, Tommy finds a way out of the compromising situation and viciously kills Zeljko, leaving the three bodies in the field and driving off by himself.

Sarah Lancashire as Catherine Cawood in Happy Valley, wearing police uniform and looking into the distance
Sarah Lancashire as Catherine Cawood in Happy Valley. Credit: BBC/Lookout Point/Matt Squire

Meanwhile, Catherine is spurred on by an illusion of Becky (Emily Barnett) to return to her home, even though the family's been warned against doing so. In the emotional scene, we see her break down crying looking at photo albums and old pictures of Ryan. She falls asleep and like a scene out of a jumpscare horror, Tommy appears directly behind her, peering in through the window. He's been stabbed by Zeljko and carries a canister of petrol as he clambers into the house through the basement window.

It's one of the most nail-biting scenes in the episode as you wonder if Catherine and Tommy will see each other, but Catherine soon gets a call from Ryan and leaves the house just at the same time that Tommy comes up into the kitchen.

Ryan thoughtfully confronts Catherine later on about her treatment of Clare (Siobhan Finneran), telling Catherine also about Ann's (Charlie Murphy) emotional confrontation with him the previous evening. "Clare's always been there, ever since I can remember ... so you can't fall out with her, not because of me," he says.

It leads to Catherine finally having one final comforting chin-wag scene with Clare over a cup of tea. But while previous seasons have seen them perched on a stoop together, gossiping and laughing, this one is different. In the conversation, Catherine admits that she shouldn't have been frightened of Ryan meeting Tommy.

"Maybe I should've had more faith in him not to be taken in by him," she says. "I suppose I was just frightened he'd be like him, that he'd turn out like him. But he's just not, is he? For all his faults, he's just a happy, well adjusted, pretty flipping normal kid."

And then, in the showdown we've all been waiting for, Catherine visits her home to find her window smashed and she instantly senses trouble, producing her taser. We see Tommy downing liquor and pills, looking resolute and spent, to be honest. He's no longer the bravado-bearing criminal, but someone who seems to have reached the end of the line.

James Norton as Tommy Lee Royce on Happy Valley.
James Norton as Tommy Lee Royce in Happy Valley. BBC/Lookout Point/Matt Squire

Even so, the pair greet each other like old friends, with the first question Catherine asking him being "do you need an ambulance?" While talking to Tommy, Catherine manages to alert the station as to her whereabouts with a code zero, meaning she's in a life-threatening situation.

Tommy then tells Catherine that Darius killed Gary Gaggoski eight years ago and says that he's lied for him. But even though he's come clean about that, he tries to goad Catherine and tells her about Ryan visiting him in prison. Catherine of course already knows, but tells him that she knows about his plans to flee the country with the teen.

In a random turn of events, Tommy grows emotional, telling Catherine that he "forgives" her because looking at the photo albums of Ryan, he "realised what a nice life he had". He says: "I don't hate you anymore."

But like all viewers at home will be, Catherine is left confused by this admission, calling Tommy a "delinquent f**k". "You have no idea what you did to Becky," she says, explaining the abuse Tommy put her through. The pair exchange cutting insults, shouting and then Tommy pours petrol over himself, lighting a match and setting himself alight.

Then, in the final scene, we see Catherine visit Becky's grave. While Mike (Rick Warden) texts her about Tommy, we can't help but spy that Catherine has made plans to go off to "the highlands" on Saturday, getting a much needed post-retirement break after all. Queue the applause.

Who dies at the end of Happy Valley season 3?

Happy Valley S3
James Norton as Tommy Lee Royce in Happy Valley season 3. BBC

While Catherine did save Tommy from burning alive, he was then placed in a coma. In the final moments of the episode, Catherine gets a text from Mike confirming that Tommy has died.

So, we can all breathe one collective sigh of relief that Catherine Cawood lives to fight another day and can go on living her best post-retirement life.

What happened to Rob and Faisal in Happy Valley?

Myra Sofia Iftkhar as Haniye Bhatti, Yasmin Ali as Maira Bhatti, Amit Shah as Faisal Bhatti in Happy Valley season 3. BBC/Lookout Point/Matt Squire

While Rob was initially questioned about Joanna's murder, we learn that he's actually been charged with the possession of indecent images after blackmailing a student at school to send them to him.

As for Faisal, in the final moments of the episode when Catherine and Andy are talking, she notifies him about the fact he's been dealing drugs out of his small pharmacy. "He's called Faisal Bhatti and guess what? He lives not 100 yards up the road from the Hepworth's house."

So, while we don't know for sure, it looks like Catherine's last act as a police officer has been to help solve the case of Joanna's murder and nail Faisal as the perpetrator.

Happy Valley seasons 1-3 are available to watch on BBC iPlayer now.

If you're looking for more to watch, check out our TV Guide and Streaming Guide or visit our Drama hub for more news and features.


Try Radio Times magazine today and get 12 issues for only £1 with delivery to your home subscribe now. For more from the biggest stars in TV, listen to the Radio Times View From My Sofa podcast.