Skip to main contentSkip to navigationSkip to navigation
Catherine Cawood (Sarah Lancashire) in the Happy Valley finale
A last day like no other … Catherine Cawood (Sarah Lancashire) in the finale. Photograph: Matt Squire/BBC/Lookout Point
A last day like no other … Catherine Cawood (Sarah Lancashire) in the finale. Photograph: Matt Squire/BBC/Lookout Point

Happy Valley recap: series three finale – Sarah Lancashire is utterly monumental

This article is more than 1 year old

What an absolutely electrifying ending. Sally Wainwright masterfully wrongfooted viewers, while the show’s star was outstanding. Baftas surely beckon

Happy Valley finale review – one of TV’s greatest trilogies gets a fiery farewell

Spoiler alert: this recap is published after Happy Valley airs on BBC One in the UK. Do not read on if you haven’t watched episode six.

Sally Wainwright’s enthralling West Yorkshire epic took us on a nerve-jangling ride in its extended finale. Would there be a happy ending in the valley? Here’s your forensic report on the last ever episode.

Uber driver rating: no stars

As dawn broke over the slate rooftops and tower blocks of the Calder Valley, fugitive Tommy Lee Royce (James Norton) was on the move. He had been hunkered down with “borscht grandad” Surroje (Matthew Zajac), waiting to complete the escape plan engineered by Darius Knezevic, when the crime kingpin’s brother Zeljko (Greg Kolpakchi) arrived with two henchmen. They needed to relocate, claiming it wasn’t safe there any more. Smelling a rat, Tommy refused to hide in the car boot. When he spotted a petrol can in the car, he snuck back to arm himself with Surroje’s beetroot knife.

As they drove into the countryside, alarm bells rang louder. Tommy sprang violently into action, stabbing both sidekicks, strangling them with seatbelts and slitting their throats. Zeljko swerved off the road into a field and leapt from the car. From the backseat, Tommy managed to stop the vehicle using the handbrake, but Zeljko drew his own blade (not one for chopping veg) and closed in for the kill. A grunting, gruelling knife fight ended when Tommy bludgeoned his adversary to death with a rock.

He lay wounded and gasping on the ground until he heard Ryan’s voice telling him last week: “I’m not allowed anywhere near home.” Leaving three corpses on the ground, Tommy climbed back into the car, complete with its blood-smeared windows (nothing to see here, officer), and drove off to meet his fate.

When did you last see your father?

The day before her well-earned retirement, Sgt Catherine Cawood (Sarah Lancashire) woke up on the cramped couch of Alison Garrs (Susan Lynch) after a mere two hours’ kip. No rest for those fighting the wicked. She took grandson Ryan (Rhys Connah) to be quizzed by the manhunt team.

Although he hadn’t seen Tommy since his crown court breakout, Ryan admitted they had spoken via his games console the previous night. Attaboy. Many commenters had predicted a three-way face-off, paralleling the series one finale, or predicted he would lure Tommy into a trap. “Revenge is a dish best served cold,” after all. Instead, Sally Wainwright subverted expectations by having Ryan simply come clean, 15 minutes into the finale. Nurture beat nature. He passed the moral test with flying colours. DSI Andy Shepherd (Vincent Franklin) mistook Ryan for a new recruit and he looked quietly thrilled. A hint that he will follow his grandmother into the force? Happy Valley: The Next Generation here we come.

Back in the fold … Clare Cartwright (Siobhan Finneran). Photograph: BBC/Lookout Point

Tracing the IP address of his console, police raided Surroje’s house, but Tommy was gone. As Catherine said: “He’s still out there, angry, desperate and dangerous.” Ryan confessed about the Marbella escape plan, insisting he never had any intention of going. A weight lifted from our heroine and she fondly patted Ryan’s back. A small but significant gesture after not reciprocating his “I love you” last week.

For three series, she had worried that Ryan would take after his biological father. Despite the odd burst of bad behaviour, he was “a happy, well-adjusted, pretty flipping normal kid”. This wise head on 16-year-old shoulders even encouraged Catherine to reconcile with Clare (Siobhan Finneran). They duly did so when Catherine admitted she shouldn’t have been so frightened of Ryan meeting Tommy. “Are you stopping?” asked Clare. “Yeah,” said Catherine. Praise be.

‘I’m not a violent person … normally’

Having found blood all over the house and bone fractures during the postmortem on Joanna Hepworth (Mollie Winnard), DSI Shepherd deduced that the toxic PE teacher Rob (Mark Stanley) had been beating her for years and brought him in for questioning. Detectives knew about his affair with a colleague, Abigail Oates (hence that “getting your Oates” gag), whom Hepworth had told: “Life would be easier if Joanna didn’t exist.” Forensics found his fingerprint in a fresh bloodstain on a kitchen chair. It didn’t look good for the gaslighting git. He admitted domestic violence – victim-blaming, naturally – but denied murder.

Cut to the real culprit, pharmacist Faisal Bhatti (Amit Shah). When he saw a local news report about gang gofers Matija (Jack Bandeira) and Ivan (Oliver Huntingdon) being arrested, Faisal breathed a sigh of relief. Was Mr Muscle going to get away with his crimes? Did new decking beckon?

Honey, I’m home

Expecting Catherine’s house to be empty, Tommy donned a disguise – glasses and headgear, like series one – and broke into her basement. She had also been drawn back there, after a vision of her dead daughter, Becky, told her to “Go home, Mum”. She fondly leafed through the family albums before dozing off in an armchair. Well, it had been a long few days.

Cue an agonisingly tense sequence as Tommy snuck up the stairs towards her, neither aware of the other’s presence. Woken by a phonecall, Catherine was saved by the bell and left. Tommy picked up the photo album, chuckling at Ryan and blubbing over Becky – sentimentality mingled with self-pity over the stab wound in his stomach.

After that false start, the domestic duel came later. Some viewers hoped for fireworks, but, again, Wainwright wrongfooted us. The final reckoning took place where it belonged – across a kitchen table, two indelible characters hitting each other with home truths. When curtain-twitching neighbour Winnie – a nice nod to unseen octogenarian actor Angela Pleasence – spotted the broken window, she called Catherine, who returned home, Taser drawn. She found Tommy suicidally self-medicating with whisky and painkillers. “Hello?” she called. “Hiya,” he replied softly, echoing the Catherine versus Clare cafe confrontation three weeks ago.

On the case … Catherine. Photograph: BBC/Lookout Point

In an electrifying 15-minute scene, she offered to call an ambulance. He refused and instead came clean. Contrary to his police statement, he had been present when Darius killed Gary Gogowski eight years ago. He had lied under oath, but Darius hadn’t kept his side of the bargain. Tommy wanted to take him down in revenge.

Catherine triumphantly told Tommy that Ryan had seen through him (“That boy is a prince”). Tommy claimed he could have been a good father, given the chance. Catherine had denied him that, but he “forgave her” (more echoes, this time of episode two’s prison-chaplain scene). He now realised she had given Ryan “a nice life”. As the pendulum swung, Wainwright played with our sympathies beautifully. You almost felt for traumatised Tommy – until Catherine reminded him of his heinous history. He had appeared to relish those fatal blows to Zeljko, too.

skip past newsletter promotion

As they traded verbal punches, Catherine seemed to be goading him into violence. For once, Tommy didn’t take the bait. They were both “just tired now”. Might the two warriors exit the arena together? The final straw came when Tommy claimed he had loved Becky and blamed Catherine for driving them apart. As Catherine’s Taser trigger-finger twitched, he doused himself with petrol, but he didn’t want Catherine to go down with him. He wanted her here, caring for Ryan. Glimpses of redemption?

Determined not to return to prison, he struck a match. Catherine smothered the flames with a blanket, but burned, poisoned and stabbed, Tommy fell into a coma. She staggered away, bloodied but unbowed, only collapsing into sobs when out of sight of her colleagues. Clare arrived and held her. The sisters were as one again. But loose ends still needed to be tied up.

All in a last day’s work

As Catherine cleared her desk, plot resolutions flew thick and fast. Hepworth had been charged, but not with murder – for indecent images found on his phone. He had been blackmailing a pupil to send them, which put his grooming of Ryan and predatory looks into chilling light. Perma-coated Poppy (Bonnie Stott) and her sister would be looked after by their granny. Dead mother, violent father, kinship carer. Remind you of anyone?

The investigation into Darius for murder could now be reopened, putting paid to his run for council election. He was “untouchable” and “Teflon” no longer. “Royce and Knezevic, all in one day,” said DSI Shepherd admiringly, but there was still more to come.

Caught at last … Faisal Bhatti (Amit Shah). Photograph: BBC/Lookout Point

Having found a blister pack in Alison’s flat, Catherine learned that the knock-off blue pills belonged to her corrupt probation officer. Alison came good, as we knew she would, and found out that she had brought them from that “funny little fella” who runs the local pharmacy. What’s more, Faisal lived 100 yards from diazepam-addicted Joanna. Shepherd strode off. The cold-blooded pharmacist wouldn’t get away with murder after all.

Having cracked a third case, Catherine snuck away from her own leaving do, standing up the chief constable for the second time. We next saw her at Becky’s graveside, giving it a kiss goodbye before embarking on her Himalayan road trip. A text from Insp Mike Taylor (Rick Warden) pinged in, confirming Tommy’s death in hospital. Catherine smiled up at the sky, donned her shades and swaggered off into a bright future. The sheriff was leaving trouble town. The only thing that’s pretty, after all, is the thought of getting out.

A mighty finale, led by a monumental performance from Lancashire. En route to Nepal, how about a comfort break at the Baftas to collect a couple of gongs?

Line of the week

“We’ve had another bit of a tussle. I won, obviously. I think I might’ve singed one of your crochet blankets” – Catherine’s typically understated summary of events to Clare.

Notes and observations

  • You can’t have it all inside 70 minutes, but Ann (Charlie Murphy) and Richard (Derek Riddell) were notable in their absence. At least it meant they survived. Dastardly Darius was mentioned, but never seen. No sign of those alien lifeforms, either.

  • The last three episodes were masterly directed by Fergus O’Brien, who had teased that this finale would “slap you in the face and wallop you across the room”. He wasn’t fibbing.

  • Ivan never did make it to the altar. Nicked two hours before his wedding with £30,000 of dirty money? Couldn’t happen to a nicer bloke.

  • The opening episode of this series has now been watched by 11.3m viewers, making it the UK’s biggest on-demand show across all platforms so far this year. This finale was expected to break more records. Rightly so.

Thanks for your wise and witty company this series, fellow Valleycats – even the commenters correcting my Yorkshire geography, which is no more than I deserved. For one last time, please share your thoughts, theories and series verdicts below.

Comments (…)

Sign in or create your Guardian account to join the discussion

Most viewed

Most viewed