The visitors started well, but it was the home side who took the lead after six minutes.
A turnover on the halfway line led to captain Harris Grant breaking down the blindside and feeding winger Jack Ferguson. His clever kick was chased over the try line by centre Ross Aitken and he scored with Brian Walls converting.
Eight minutes later Stewart’s Melville got themselves on the scoreboard with a try through back-row Donald Sangster.
‘Sonians extended their lead to 10-5 just before the half hour mark when Walls kicked a penalty At the interval the score remained the same although home full-back Rory Steele had gone close as had opposite number Liam Steele and then Stewart’s Melville were camped on the try line, but could not get over.
The second half started scrappily for both sides, but it was the visitors who drew things level after 53 minutes with an unconverted try through hooker Roddy Mackenzie.
‘Sonians had the extra man due to the sin-binning of Mike Hanning, but it was the visitors who went 17-10 up, Mackenzie’s second try of the match being converted by replacement Seb Trotter, and a late try from winger Richard Borthwick converted by Trotter sealed the away victory.