The British number three lost the first set 6-3 to Alison Riske but took the next 6-4 before recovering from a break down to win the decider 6-4.
She will play Sweden's number two seed Sofia Arvidsson in the last four.
Watson, 21, has slipped to 133 in the world from a career-high 39 in February after a bout of glandular fever.
Her victory over American Riske was her second against a top-100 ranked player this week and is the first time she has won three successive matches in 2013.
Guernsey-born Watson has dropped down from the WTA Tour to the second-tier ITF circuit as she aims to end a difficult year on a high.
She is still well outside the cut-off for automatic entry into January's Australian Open - the first Grand Slam tournament of the season - but can still pick up valuable ranking points this weekend and next week in Barnstaple.