Hawks beat Gala 33-31 in a cracker of a match at Netherdale, while Heriot's had a 20-16 away success against Aberdeen Grammar.
The first half in the Borders produced six tries, with Euan Dods touching down twice for the home side and Opeta Palepoi also going over, while Gavin Lowe, Haddon McPherson and Dan Smart scored for Hawks.
Gala led 24-19 at the interval and when David O'Hagen went over for their fourth try, which he also converted, the Maroons were 31-19 to the good.
However, Hawks were not going to be shaken off that easily and an unconverted try and two penalties put them just a point behind at 31-30.
A frantic last 10 minutes followed, but Hawks snatched victory when Jack Steele kicked a long-range penalty in the dying seconds.
In the other semi-final at Rubislaw, a converted try by Glasgow Warriors' Byron McGuigan put Aberdeen 7-0 up. Graham Wilson replied with two penalties before Rob Aloe's penalty gave the hosts a 10-6 lead. Heriot's scored a converted try before the interval though and went on to take control.
Caithness will play Preston Lodge in the Shield final and Highland and St Boswells will meet in the Bowl final.