Scott Richardson hit a four off the final ball of a thrilling match to secure Woodlands place in their first Dyson Energy Services Twenty/20 Cup final.
He pulled the last delivery of the semi-final from John Carruthers through midwicket to finally kill off the challenge of a battling Hanging Heaton side who played their part in a match which provided plenty of entertrainment for the good crowd at Albert Terrace.
.Woodlands looked to be cruising to victory when they needed 30 from the last five overs to overhaul the Hanging Heaton score of 148-6 with six wickets in hand, but their oppopnents simply refused to throw in the towel.
The target was reduced to nine when the final over started. It looked as if Hanging Heaton would reach their first final when Carruthers dismissed Usman Salim with the second ball.
New batsman Richardson took a single before his partner Adam Goldthorpe hit a four and a single. It meant two were needed from the final delivery. Hanging Heaton skipper Gary Fellows took care setting the field, but Richardson hammered the ball to the boundary to trigger jubilant celebrations.
When Woodlands reflect on the match they well feel that they should not have made things so tough on themselves after opener Sam Frankland had put them in a strong position with a good knock of 42.
But they will surely concede that Hanging Heaton's never-say-die atttitude was a vital ingrewdient in this absorbing contest.
Batting first, Hanging Heaton gathered momentum throughout their innings to post their eventual total of 148-6 It was probably 15-20 runs below what they would hav e hoped for, but with the light fading it was always going to make it a testing chase for Woodlands.
Joe Fraser (35), David Stiff (34) and David Paynter (33) were the main scorers against a Woodlands atttack in which Pieter Swanepoel took 3-22.
Woodlands will learn on Thursday who their opponents will be in the final at Bradford & Bingley's Wagon Lane ground on Thursday, August 14. The second semi-final sees Undercliffe take on Pudsey Congs at Intake Road (6.30pm)