In an even first half, Matt Curley's 10th minute shot was blocked by Royston goalkeeper Joe Welch and home goalkeeper Dan Platt made a great reflex save to deny Rohdell Gordon a minute later. Andre Wright then went close for Halesowen in the 31st minute when he brought the ball down and his half volley from 20 yards was tipped around the post by Welch.
But the Yeltz lacked a first-half cutting edge and it was the Crows who went close towards the interval. Defender Harold Joseph failed to make the most of a free header at the far post from Sam Corcoran's 39th minute cross and Platt then made a tremendous one-handed save to deny Joseph Neal in front of goal a minute later. At the start of the second half Platt did just enough to turn Gordon's 20 yard shot around the post.
The Yeltz then upped the pace in the final half-hour of the game to create several good chances in a dominant spell that eventually resulted in a late winner after knocking on the door.
A 62nd minute free header from Callam Mendez-Jones fell agonisingly wide and four minutes later Dan Sweeney's 25 yard free-kick took a wicked deflection but Welch twisted brilliantly to make a fine one-handed save. Welch then palmed a wide-angled shot from Jack Kelly over the bar and Morris was denied with a close range header from Joel Taylor's 69th minute corner.
Morris planted another header at Welch two minutes later and Sweeney did well to beat his marker in the 73rd minute, only for Welch to block for another corner.
But Kelly rescued the Yeltz by clearing off the line after Royston's Gordon broke away in the 74th minute and with the game wide open, Welch saved for the Crows in the 80th minute by beating away Sweeney's fierce shot after he burst down the right.
Halesowen finally snatched their vital three points in the 85th minute when centre-back Morris came forward for another Taylor corner and rose to head down and into the net in front of the jubilant home fans.
Halesowen Town: Dan Platt; Matt Curley, Jack Kelly, Callam Mendez-Jones,
Kieran Morris, Sam Griffiths, Jack Rea (c), Billy Murphy (Joe Fitzpatrick
67), Lee Hughes (Dan Sweeney 59), Andre Wright, Joel Taylor (Tyler Weir 89).
Subs Not Used: Aaron Gilpin, Dominic Hill.
Royston Town: Joe Welch; Harold Joseph, Luke Oswick (Thomas Newman 58),
Scott Thomas, Adam Crowther, Dan Braithwaite (c) (Vance Bola 58), Rohdell
Gordon, Sam Corcoran, Joseph Neal (Daniel Gallin 70), Gus Scott-Morriss,
Joseph Newton. Subs Not Used: Adam Murray, Aidan Dawson.