Chasetown went straight up the other end and Dilano Reid curled an effort inches wide of Daniel Platt's goal.
The chances came thick and fast. Jack Langston forced Platt into a low save on 13 minutes then Curtis Pond palmed away a low drive from Jack Holmes.
The visitors began to take a semblance of control and Pond saved superbly from Harry White for a Yeltz corner.
The two top sides in the NPL Midland Division continued to spar and Chasetown’s Aaron Ashford almost got on the end of an Alex Melbourne cross and then Langston fired wide of the Halesowen goal from 25 yards.
The opening fifteen minutes were shaded by Chasetown territorially but it was the visitors who were again denied the opening goal by the brilliance of Pond to deny White.
With 77 minutes on the clock, the majority of the 879 crowd held their collective breath as Kyle Finn broke through on goal, only to be denied by another Pond save.
The Yeltz kept the pressure on the home goal and Pond made two more routine saves to keep his clean sheet.
The end to end football was incessant and Halesowen's Simeon Cobourne blazed a good chance well wide of the home goal.
90 minutes couldn't separate them so the game went straight to penalties.
Chasetown's second penalty struck the crossbar before Pond saved Halesowen's second and Pond himself made it 2-1 with Chasetown's third.
The Yeltz levelled again at 2-2 before Josh Hawker put his kick wide and Langston netted the decisive fourth spot kick.