Vallance won the opening frame, but Donaldson levelled the match with a 40 break. Vallance won the third and then opened up a two-frame lead with a break of 56 before Donaldson pulled one back.
However, just as Donaldson looked like he could take the match to a decider, Vallance fluked a red when escaping from a snooker and eventually wrapped up the frame. Perth’s Bobby Cruickshanks wasted little time in his 4-1 defeat of Dunbar’s Willie Mullen with the help of breaks of 60 and 80.
Vallance now plays Cruickchanks on Tuesday evening while Bonnyyrigg’s Michael Leslie plays Ross Fernie in the other semi-final on Monday at the Edinburgh Corn Exchange.