It was Swans’ fifth consecutive win and secured their place in the top five – level on points with fourth-placed Wimborne.
With gale force winds blowing across the pitch, the game was played among the forwards with Swans conceding too many early penalties.
As a result, first blood went to Frome who took the lead in the 10th minute when fly-half |Des Kruger converted a penalty kick.
Swans, however, continued to battle for possession and took the lead with a Daffyd Wright try after 25 minutes to give the hosts a 5-3 advantage at half-time.
Frome regained the lead shortly after the break with another penalty before Swans took control of the contest.
From the restart, Swans won a scrum inside the Frome 22 which led to fly-half Charlie Parish touching down neatly under the posts.
Parish added the extras for the final points of the game in the 50th minute.
Shortly after Parish’s try, play was suspended for 10 minutes due to a hail storm.
On their return, neither side managed to add to the scoreline as Frome gained a losing bonus point.
Swans: Baird, Wilcox, Cottrell, Graves, Parry (Barton, 55), Parish, Warren, Sheldrake, Elford, Audley ( Wyburgh 49), Burgess, Collins, Corsie (Jones 49), Wright, Desmond.