Chasing 209 to win, the hosts at Bothwell Castle made it home with just four balls and one wicket to spare to end any local interest in the competition for 2010.
Batting first Heriot's – with a number of first choice players missing for various reasons and even a third XI player called up – were in trouble early on when they fell to 43-3.
However, 83 from Sean Weeraratna hoisted them up to 208 all out. Uddingston captain Ricky Bawa took 3-34 and Gavin Bradley also took three wickets for the Premier Division side.
In reply the Heriot's threadbare bowling attack did well to keep their team in the match against an Uddingston side with a number of batsmen in form.
However, in the end the contributions of Bradley (48), Sameer Zia (39) and Paul Hoffman (30) proved crucial. The game still went into the final over though, but the hosts' last-wicket pair held their nerve to secure the win and a place in the last four.
The result means that Heriot's can now concentrate on league duties for the rest of the summer and clinching the First Division title.