FROM first breath to last it has taken nine years for Sally Wainwright’s tale of love and bitter loss to reach its end. Would the finale live up to expectations?

After all, Line of Duty, the last TV drama to grip viewers in their millions, let audiences down with an ending so naff all concerned should be serving time (harsh but fair).

But in Wainwright and her avenging angel, Catherine Cawood, we trusted – and they did not disappoint. Happy Valley went out in a blaze of fire, brimstone and glory.

All roads have been leading to the showdown between Catherine (Sarah Lancashire) and Tommy Lee Royce (James Norton), the man who raped and as good as killed her daughter Becky, leaving Catherine to bring up their son, Ryan.

READ MORE: How Happy Valley gave us a heroine for our times

The market town of Hebden Bridge was not big enough for both Catherine and Tommy, but who was going to leave and how? Wainwright, said to have written five endings, kept us waiting, like Spielberg with his shark.

Tommy had business of his own to sort when the Knezevic mob made him a relocation offer he could not refuse. Or so they thought. What followed was look-through-the -fingers violence, raw and utterly shocking.

Multitasking Catherine brought Ryan (Rhys Connah) to make a statement. Her boss thought Ryan was a new recruit. “Something about you,” he said.

Was this a sign that the apple was going to land next to the tree, that Ryan would be his granny’s boy and not his father’s son?

But then it seemed Ryan was not going to disclose the talk with his dad the night before. When he did a nation exhaled in relief. The kid was all right.

READ MORE: The secrets of Happy Valley's success

For his next good deed Ryan put a word in for his auntie Clare (Siobhan Finneran), languishing in Catherine’s bad books for taking him to see his father.

Later, Catherine conceded (as much as she ever does) that perhaps she had been too hard on Clare. But she was afraid he would turn out like Tommy. There it was, the dreadful, hitherto unsayable, truth.

He wasn’t, though. “For all his faults, he’s just … a happy, well-adjusted, pretty flipping normal kid,” said Catherine through her sobs. Was there ever a greater plaudit placed on a young head?

The stage was clear for the last act. It began in true Happy Valley style, with nothing yet everything being said.

“Hello?” called Catherine to the person waiting in her kitchen. “Hiya,” said Tommy.

Hiya? What sort of spawn of the devil says hiya? One that had realised how loved Ryan was. One that had softened. If only he had been given the chance to be a dad … “ARE YOU ******* SERIOUS?” bellowed Catherine, interrupting proceedings to remind Tommy, and us, of his crimes. She was magnificent in her eloquence, awesome in her fury.

“You’re just not very bright saying that,” was all Tommy could string together in response. He was pathetic, embarrassing.

READ MORE: James Norton on bringing Happy Valley back

Catherine said she was glad Ryan had met him “so he knows you’re just a ****** up, damaged, deluded, nasty little toddler brain in a big man’s body”.

We were being invited to feel sorry for Tommy again. Never knew his dad, mother a prostitute and addict, what chance did he have?

But then he blew it by telling Catherine he forgave her. And he was sorry not to have treated Becky better. As ever it was all about him.

In a final bid for redemption, Tommy revealed his plan had been to burn the house, but now he had something else in mind for his trusty can of petrol.

Even then, Catherine did her duty and did right by him.

She left the house, waiting till she was out of sight before breaking down. Clare arrived and held her tight. “We’ve had another bit of a tussle,” was Catherine’s summary of the meeting with Tommy. In a drama famous for its understatement, Wainwright had saved the best to last.

And what of Catherine? We saw her in the Land Rover she was planning to take to the Himalayas. No sign of Ryan though. Was he at home filling out an application form for the police?

There were other questions. Where was the police guard on Catherine's home? Were you on board with the graveyard scene with Becky, and Ryan’s voice coming to an injured Tommy? One thing we did know: this was it, the end. Or as Catherine joked earlier in the series: “Don’t get me wrong. I’m very proud of my 30 years, I’m the best copper that ever lived, but Code 11, job done.”

No arguments here.